Construcción de LibVLC para x86

He estado intentando utilizar LibVLC para Android y seguí las instrucciones en https://wiki.videolan.org/AndroidCompile y conseguí que funcione perfectamente para ARM. Sin embargo, al intentar compilarlo a x86, establezco:

Export ANDROID_ABI = x86

Y luego compilado de la misma manera, pero ahora tengo un problema ya que no se compila. Aquí hay un registro de compilación truncado:

~/vlc-android$ sh compile.sh VLC source found Building tools You are ready to build VLC and its contribs Building the contribs Generating EGL pkg-config file Generating GLESv2 pkg-config file Guessing build system... x86_64-linux-gnu Creating configuration file... config.mak Bootstrap completed. ... config.status: executing libtool commands Type "make; make install" to compile and install Speex cd speexdsp && make install make[1]: Entering directory `/home/user/vlc-android/vlc/contrib/contrib-android-i686-linux-android/speexdsp' Making install in libspeexdsp make[2]: Entering directory `/home/user/vlc-android/vlc/contrib/contrib-android-i686-linux-android/speexdsp/libspeexdsp' CC resample.lo In file included from resample.c:104:0: resample_neon.h:142:21: error: redefinition of 'inner_product_single' static inline float inner_product_single(const float *a, const float *b, unsigned int len) ^ In file included from resample.c:100:0: resample_sse.h:40:21: note: previous definition of 'inner_product_single' was here static inline float inner_product_single(const float *a, const float *b, unsigned int len) ^ make[2]: *** [resample.lo] Error 1 make[2]: Leaving directory `/home/user/vlc-android/vlc/contrib/contrib-android-i686-linux-android/speexdsp/libspeexdsp' make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory `/home/user/vlc-android/vlc/contrib/contrib-android-i686-linux-android/speexdsp' make: *** [.speexdsp] Error 2 

Por lo que puedo decir, en ese proyecto por alguna razón, tanto los encabezados ARM y los encabezados SSE están siendo incluidos, causando un error de redefinición. Sin embargo, no sé por qué ni qué intentar solucionarlo. Cualquier sugerencia sería muy apreciada.

Autoconf no se ve muy bien, la compilación x86 no tiene nada que ver con el conjunto de instrucciones NEON, por lo tanto, no debe incluir resample_neon.h. Todavía no he encontrado la causa raíz, pero para una solución rápida, abra resample.c bajo ../vlc-android/vlc/contrib/contrib-android-i686-linux-android/speexdsp/libspeexdsp y borre las siguientes líneas:

 ... #ifdef _USE_NEON #include "resample_neon.h" #endif ... 

A continuación, vuelva a ejecutar el compile.sh, debe obtener un apk de trabajo para su emulador / dispositivo x86.

  • Activación del evento MediaPlayerBuffering en android-vlc
  • Uso de libVLC para Android en la plataforma Windows
  • Difusión de audio / vídeo desde android vía udp a wifi y escuchar con vlc
  • Detectar si Android SurfaceView está dibujando / moviendo
  • VLC RTSP transmisión en vivo a Android
  • Cámara de streaming con RTP de Android a PC
  • LibVLC android buscar y avanzar
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.