¿Cómo realizar una compilación cruzada de ffplay para Android en Ubuntu?

¿Cómo realizar una compilación cruzada de ffplay para Android en Ubuntu?

Estoy intentando obtener un binario de ffplay para usarlo en mi aplicación de Android. Pero cuando ejecuto mi script de configuración, dice que no se encontró sdl2, aunque también lo compilé de forma cruzada y puse sus encabezados y indicadores de biblioteca en --extra-cflags y --extraldflags. Si elimino --enable-sdl2 ffplay simplemente no aparecerá en la lista de programas que se crearán. Logré que se compilara en la rama versión/3.2, pero arroja un error con respecto a una referencia indefinida a 'principal' en los archivos ether ffplay o libavutil.so (dependiendo de los indicadores compartidos y/o estáticos). Luego edité las variables sdl2_cflags y sdl2_extralibs en el archivo de configuración en la rama maestra para que apunten a mi biblioteca, pero no se compilará de todos modos.
¿Qué estoy haciendo mal?

Mi archivo de configuración se ha cambiado de esta manera:

if enabled sdl2; then
    sdl2_cflags="-I/home/kondenko/Android/ffmpeg/ffmpeg/sdl2/include -D_REENTRANT"
    sdl2_extralibs="-L/home/kondenko/Android/ffmpeg/ffmpeg/sdl2/build/android/obj/local/armeabi-v7a -lSDL2"
    enable sdl2
fi

Y aquí está mi guión:

make_or_die() {
    make -j $(nproc) || exit
    sudo make install || exit
}

ARCH=arm
API=17
CPU=armv7

WORKING_DIR=~/Android/ffmpeg/ffmpeg

NDK=~/Android/SDK/ndk
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi
SYSROOT=$TOOLCHAIN/sysroot
CROSS_PREFIX=$TOOLCHAIN/bin/arm-linux-androideabi- 

FFMPEG_PREFIX=$(pwd)/android/$CPU 

SDL=$(pwd)/sdl2
SDL_PREFIX=$SDL/build/android/obj/local/armeabi-v7a

export PATH=$PATH:$TOOLCHAIN/bin:$TOOLCHAIN/include
export CC="arm-linux-androideabi-clang"
export CXX="arm-linux-androideabi-clang++"

build_sdl2() {
    hg clone https://hg.libsdl.org/SDL $SDL
    cd $SDL
    sudo ./build-scripts/androidbuildlibs.sh
    cd $WORKING_DIR
    echo "SDL build folder: $SDL_PREFIX"
}

build_ffmpeg() {
    sudo make distclean
    sudo ./configure \
        --target-os=android \
        --arch=$ARCH \
        --prefix=$FFMPEG_PREFIX \
        --cross-prefix=$CROSS_PREFIX \
        --enable-static \
        --disable-ffprobe \
        --disable-ffmpeg \
        --disable-doc \
        --disable-symver \
        && make_or_die && header "Success! Your files are at $FFMPEG_PREFIX" \
        || (echo \\n && tail ffbuild/config.log && exit)
}

build_sdl2
build_ffmpeg

ACTUALIZACIÓN:Logré obtener un ejecutable al poner estas líneas en el archivo de configuración, pero ni ffmpeg ni ffplay creados de esta manera funcionan. Sus procesos salen con el código 132 que está relacionado con un binario corrupto que yo sepa. Todavía no sé cómo hacer que funcionen.

sdl2_cflags="-I/home/kondenko/Android/ffmpeg/ffmpeg/sdl2/include -D_REENTRANT"
sdl2_extralibs="/home/kondenko/Android/ffmpeg/ffmpeg/sdl2/build/android/lib/armeabi-v7a/libSDL2.so /home/kondenko/Android/ffmpeg/ffmpeg/sdl2/build/android/obj/local/armeabi-v7a/libSDL2.a /home/kondenko/Android/ffmpeg/ffmpeg/sdl2/build/android/obj/local/armeabi-v7a/libSDL2main.a -llog -landroid -ldl -lGLESv1_CM -lGLESv2 -shared"
enable sdl2

información relacionada