Page 1 of 1

Video frame notification in Android application

Posted: 02 Jul 2013 16:09
by gregoiregentil
Hello,

I would like to get a notification when a new frame has been decoded and is rendered by the Android application. Is there anything in libvlcjni.c that knows about frame? Or perhaps there is a callback possible with the surface about rendering? Any advice would be appreciated. Many thanks in advance.

Re: Video frame notification in Android application

Posted: 02 Jul 2013 16:22
by Jean-Baptiste Kempf
You could do that in the video output module code.

Re: Video frame notification in Android application

Posted: 03 Jul 2013 06:12
by gregoiregentil
Thank you Jean-Baptiste. But I'm not sure to understand. Can you be more precise? Do you mean in libvlcjni.c or below?

Re: Video frame notification in Android application

Posted: 03 Jul 2013 16:27
by Jean-Baptiste Kempf
below :)

Re: Video frame notification in Android application

Posted: 05 Jul 2013 02:24
by gregoiregentil
To achieve my goal, as a proof of concept, I have modified one of the video filters. It works on my x86 PC and it cross-compiles fine for Android. In libvlcjni.c, I have then tried to add in "libvlc_media_t *new_media(...)":
libvlc_media_add_option(p_md, ":video-filter=sharpen"); and all combinations you could ever imagine with "-" ":" "v" "video" "filter". But the filter is never applied.

Question: How can I apply a video filter from libvlcjni.c?

Re: Video frame notification in Android application

Posted: 05 Jul 2013 03:18
by edwardw
Sharpen filter is disabled in the Android build...

Re: Video frame notification in Android application

Posted: 05 Jul 2013 05:40
by gregoiregentil
Well, if I introduce a typo in sharpen.c, the build stops ;-)

Re: Video frame notification in Android application

Posted: 05 Jul 2013 19:06
by edwardw
So?

Re: Video frame notification in Android application

Posted: 06 Jul 2013 01:01
by gregoiregentil
It's like you just give me small pieces of advice... I'm thinking that if something compiles, it's integrated into the binaries. Your answer seems to imply that it's not. But, then I have carefully inspected configure and there is no video_filter option. I'm confused? Can you please elaborate?

Re: Video frame notification in Android application

Posted: 06 Jul 2013 03:38
by edwardw
The shapen plugin is not statically linked into libvlcjni.so, hence it does not exist in the final build and cannot be used (see find_modules.sh)

Re: Video frame notification in Android application

Posted: 06 Jul 2013 05:04
by gregoiregentil
I have removed "sharpen" from find_modules.sh blacklist.

I have applied that patch: http://comments.gmane.org/gmane.comp.vi ... evel/81357

I have added libvlc_set_video_filters_string(mp, "video-filter", "sharpen"); to libvlcjni.c

Nevertheless, a specific string in sharpen.c doesn't show up in libvlcjni.so though libsharpen_plugin.a is in the list provided by find_modules.sh

The application doesn't crash but the filter is certainly not called.

Any idea what I'm missing?

Re: Video frame notification in Android application

Posted: 06 Jul 2013 05:10
by gregoiregentil
Correction: I have added libvlc_set_video_filter(mp, "sharpen", 1); to libvlcjni.c. I think that I'm not that far. I just need to force the plugin to be present in libvlcjni.so. How can I achieve that?

Re: Video frame notification in Android application

Posted: 07 Jul 2013 02:42
by edwardw
Check the logs.

Re: Video frame notification in Android application

Posted: 08 Jul 2013 08:40
by gregoiregentil
I might be further than I was expecting and hoping! I saw two problems:
- first, sharpen module is not integrated into libvlcjni.so when it's compiled through Eclipse. When I run ./compile.sh, it is integrated. I have the same Android.mk in both cases and they are using the same compilation folder... Below is the log of the compilation through Eclipse when the sharpen module is NOT integrated.
- secondly, even when the sharpen module is in libvlcjni.so on the device, the filter is not called despite the 'libvlc_set_video_filter(mp, "sharpen", 1)' mentioned above.
Any idea?

Code: Select all

SharedLibrary : libvlcjni.so Using built-in specs. COLLECT_GCC=/opt/google/android/ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ COLLECT_LTO_WRAPPER=/opt/google/android/ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../libexec/gcc/arm-linux-androideabi/4.6/lto-wrapper Target: arm-linux-androideabi Configured with: /s/ndk-toolchain/src/build/../gcc/gcc-4.6/configure --prefix=/tmp/ndk-andrewhsieh/build/toolchain/prefix --target=arm-linux-androideabi --host=x86_64-linux-gnu --build=x86_64-linux-gnu --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-mpfr=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-mpc=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-cloog=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-ppl=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --disable-ppl-version-check --disable-cloog-version-check --enable-cloog-backend=isl --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --disable-libssp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable-shared --disable-tls --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --enable-initfini-array --disable-nls --prefix=/tmp/ndk-andrewhsieh/build/toolchain/prefix --with-sysroot=/tmp/ndk-andrewhsieh/build/toolchain/prefix/sysroot --with-binutils-version=2.21 --with-mpfr-version=3.1.1 --with-mpc-version=1.0.1 --with-gmp-version=5.0.5 --with-gcc-version=4.6 --with-gdb-version=7.3.x --with-gxx-include-dir=/tmp/ndk-andrewhsieh/build/toolchain/prefix/include/c++/4.6 --with-bugurl=http://source.android.com/source/report-bugs.html --disable-bootstrap --disable-libquadmath --enable-plugins --enable-libgomp --enable-gold --enable-graphite=yes --with-cloog-version=0.17.0 --with-ppl-version=1.0 --with-arch=armv5te --program-transform-name='s&^&arm-linux-androideabi-&' --enable-gold=default Thread model: posix gcc version 4.6 20120106 (prerelease) (GCC) COMPILER_PATH=/opt/google/android/ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../libexec/gcc/arm-linux-androideabi/4.6/:/opt/google/android/ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../libexec/gcc/:/opt/google/android/ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ LIBRARY_PATH=/opt/google/android/ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/:/opt/google/android/ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/:/opt/google/android/ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/lib/:/opt/google/android/ndk-r8e/platforms/android-9/arch-arm/usr/lib/ COLLECT_GCC_OPTIONS='-shared' '-L/opt/google/android/ndk-r8e/platforms/android-9/arch-arm/usr/lib' '-v' '-L../res-src/vlc/contrib/arm-linux-androideabi/lib' '-o' '/work/ai.private/aiVLC/obj/local/armeabi/libvlcjni.so' '-march=armv5te' '-mfloat-abi=soft' '-mfpu=vfp' /opt/google/android/ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../libexec/gcc/arm-linux-androideabi/4.6/collect2 --sysroot=/opt/google/android/ndk-r8e/platforms/android-9/arch-arm --eh-frame-hdr -shared -dynamic-linker /system/bin/linker -X -m armelf_linux_eabi -Bsymbolic -z noexecstack -z relro -z now -o /work/ai.private/aiVLC/obj/local/armeabi/libvlcjni.so /opt/google/android/ndk-r8e/platforms/android-9/arch-arm/usr/lib/crtbegin_so.o -L/opt/google/android/ndk-r8e/platforms/android-9/arch-arm/usr/lib -L../res-src/vlc/contrib/arm-linux-androideabi/lib -L/opt/google/android/ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6 -L/opt/google/android/ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc -L/opt/google/android/ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/lib -L/opt/google/android/ndk-r8e/platforms/android-9/arch-arm/usr/lib -soname libvlcjni.so /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/libvlcjni.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/aout.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/thumbnailer.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/pthread-condattr.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/pthread-rwlocks.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/pthread-once.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/eventfd.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/sem.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/pipe2.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcpcpy.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcpncpy.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcscasecmp.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcscat.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcschr.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcscmp.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcscoll.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcscpy.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcscspn.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcsdup.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcslcat.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcslcpy.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcslen.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcsncasecmp.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcsncat.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcsncmp.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcsncpy.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcsnlen.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcspbrk.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcsrchr.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcsspn.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcsstr.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcstok.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcswidth.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wcsxfrm.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wmemchr.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wmemcmp.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wmemcpy.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wmemmove.o /work/ai.private/aiVLC/obj/local/armeabi/objs/vlcjni/wchar/wmemset.o -lgcc --no-undefined -z noexecstack -z relro -z now ../res-src/vlc/android/modules/stream_out/.libs/libstream_out_transcode_plugin.a ../res-src/vlc/android/modules/stream_out/.libs/libstream_out_display_plugin.a ../res-src/vlc/android/modules/stream_out/.libs/libstream_out_raop_plugin.a ../res-src/vlc/android/modules/stream_out/.libs/libstream_out_bridge_plugin.a ../res-src/vlc/android/modules/stream_out/.libs/libstream_out_langfromtelx_plugin.a ../res-src/vlc/android/modules/stream_out/.libs/libstream_out_setid_plugin.a ../res-src/vlc/android/modules/stream_out/.libs/libstream_out_gather_plugin.a ../res-src/vlc/android/modules/stream_out/.libs/libstream_out_duplicate_plugin.a ../res-src/vlc/android/modules/stream_out/.libs/libstream_out_mosaic_bridge_plugin.a ../res-src/vlc/android/modules/stream_out/.libs/libstream_out_smem_plugin.a ../res-src/vlc/android/modules/stream_out/.libs/libstream_out_description_plugin.a ../res-src/vlc/android/modules/stream_out/.libs/libstream_out_standard_plugin.a ../res-src/vlc/android/modules/stream_out/.libs/libstream_out_rtp_plugin.a ../res-src/vlc/android/modules/stream_out/.libs/libstream_out_delay_plugin.a ../res-src/vlc/android/modules/stream_out/.libs/libstream_out_record_plugin.a ../res-src/vlc/android/modules/stream_out/.libs/libstream_out_es_plugin.a ../res-src/vlc/android/modules/stream_out/.libs/libstream_out_autodel_plugin.a ../res-src/vlc/android/modules/stream_out/.libs/libstream_out_dummy_plugin.a ../res-src/vlc/android/modules/misc/.libs/libgnutls_plugin.a ../res-src/vlc/android/modules/misc/.libs/libxml_plugin.a ../res-src/vlc/android/modules/misc/.libs/libvod_rtsp_plugin.a ../res-src/vlc/android/modules/control/.libs/libdummy_plugin.a ../res-src/vlc/android/modules/meta_engine/.libs/libfolder_plugin.a ../res-src/vlc/android/modules/meta_engine/.libs/libtaglib_plugin.a ../res-src/vlc/android/modules/audio_mixer/.libs/libinteger_mixer_plugin.a ../res-src/vlc/android/modules/audio_mixer/.libs/libfloat32_mixer_plugin.a ../res-src/vlc/android/modules/access_output/.libs/libaccess_output_file_plugin.a ../res-src/vlc/android/modules/access_output/.libs/libaccess_output_udp_plugin.a ../res-src/vlc/android/modules/access_output/.libs/libaccess_output_http_plugin.a ../res-src/vlc/android/modules/access_output/.libs/libaccess_output_dummy_plugin.a ../res-src/vlc/android/modules/access_output/.libs/libaccess_output_livehttp_plugin.a ../res-src/vlc/android/modules/text_renderer/.libs/libfreetype_plugin.a ../res-src/vlc/android/modules/video_chroma/.libs/libgrey_yuv_plugin.a ../res-src/vlc/android/modules/video_chroma/.libs/libi422_i420_plugin.a ../res-src/vlc/android/modules/video_chroma/.libs/libyuy2_i420_plugin.a ../res-src/vlc/android/modules/video_chroma/.libs/libi420_yuy2_plugin.a ../res-src/vlc/android/modules/video_chroma/.libs/libyuy2_i422_plugin.a ../res-src/vlc/android/modules/video_chroma/.libs/libi420_rgb_plugin.a ../res-src/vlc/android/modules/video_chroma/.libs/librv32_plugin.a ../res-src/vlc/android/modules/video_chroma/.libs/libi422_yuy2_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libgradfun_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libcolorthres_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libswscale_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libadjust_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libpostproc_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/liblogo_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libtransform_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libscale_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libinvert_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libantiflicker_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libgaussianblur_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libblend_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libhqdn3d_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libcanvas_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libsepia_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libyuvp_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libwave_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/librotate_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libchain_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libcroppadd_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libextract_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libmarq_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libsubsdelay_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libdeinterlace_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libsharpen_plugin.a ../res-src/vlc/android/modules/video_filter/.libs/libanaglyph_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libheadphone_channel_mixer_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/liba52tofloat32_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libaudio_format_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libkaraoke_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libmono_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libscaletempo_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libstereo_widen_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libchorus_flanger_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libgain_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libnormvol_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libtrivial_channel_mixer_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libaudio_endian_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libsimple_channel_mixer_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libdolby_surround_decoder_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libugly_resampler_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libremap_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libspatializer_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libparam_eq_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libequalizer_plugin.a ../res-src/vlc/android/modules/audio_filter/.libs/libcompressor_plugin.a ../res-src/vlc/android/modules/codec/.libs/libsubsdec_plugin.a ../res-src/vlc/android/modules/codec/.libs/libcvdsub_plugin.a ../res-src/vlc/android/modules/codec/.libs/libopus_plugin.a ../res-src/vlc/android/modules/codec/.libs/liblpcm_plugin.a ../res-src/vlc/android/modules/codec/.libs/libstl_plugin.a ../res-src/vlc/android/modules/codec/.libs/libmediacodec_plugin.a ../res-src/vlc/android/modules/codec/.libs/libflac_plugin.a ../res-src/vlc/android/modules/codec/.libs/libavcodec_plugin.a ../res-src/vlc/android/modules/codec/.libs/liblibmpeg2_plugin.a ../res-src/vlc/android/modules/codec/.libs/libcdg_plugin.a ../res-src/vlc/android/modules/codec/.libs/libadpcm_plugin.a ../res-src/vlc/android/modules/codec/.libs/libspeex_plugin.a ../res-src/vlc/android/modules/codec/.libs/libcc_plugin.a ../res-src/vlc/android/modules/codec/.libs/libpng_plugin.a ../res-src/vlc/android/modules/codec/.libs/libdts_plugin.a ../res-src/vlc/android/modules/codec/.libs/libuleaddvaudio_plugin.a ../res-src/vlc/android/modules/codec/.libs/libtelx_plugin.a ../res-src/vlc/android/modules/codec/.libs/libaraw_plugin.a ../res-src/vlc/android/modules/codec/.libs/liblibass_plugin.a ../res-src/vlc/android/modules/codec/.libs/libaes3_plugin.a ../res-src/vlc/android/modules/codec/.libs/libiomx_plugin.a ../res-src/vlc/android/modules/codec/.libs/libdvbsub_plugin.a ../res-src/vlc/android/modules/codec/.libs/librawvideo_plugin.a ../res-src/vlc/android/modules/codec/.libs/libspudec_plugin.a ../res-src/vlc/android/modules/codec/.libs/libsvcdsub_plugin.a ../res-src/vlc/android/modules/codec/.libs/libtheora_plugin.a ../res-src/vlc/android/modules/codec/.libs/libsubsusf_plugin.a ../res-src/vlc/android/modules/codec/.libs/libmpeg_audio_plugin.a ../res-src/vlc/android/modules/codec/.libs/liba52_plugin.a ../res-src/vlc/android/modules/demux/.libs/librawaud_plugin.a ../res-src/vlc/android/modules/demux/.libs/libdemux_cdg_plugin.a ../res-src/vlc/android/modules/demux/.libs/libsubtitle_plugin.a ../res-src/vlc/android/modules/demux/.libs/libnsv_plugin.a ../res-src/vlc/android/modules/demux/.libs/libdemux_stl_plugin.a ../res-src/vlc/android/modules/demux/.libs/libts_plugin.a ../res-src/vlc/android/modules/demux/.libs/libty_plugin.a ../res-src/vlc/android/modules/demux/.libs/libmpgv_plugin.a ../res-src/vlc/android/modules/demux/.libs/libplaylist_plugin.a ../res-src/vlc/android/modules/demux/.libs/librawdv_plugin.a ../res-src/vlc/android/modules/demux/.libs/libes_plugin.a ../res-src/vlc/android/modules/demux/.libs/libasf_plugin.a ../res-src/vlc/android/modules/demux/.libs/libvobsub_plugin.a ../res-src/vlc/android/modules/demux/.libs/libps_plugin.a ../res-src/vlc/android/modules/demux/.libs/libnuv_plugin.a ../res-src/vlc/android/modules/demux/.libs/libaiff_plugin.a ../res-src/vlc/android/modules/demux/.libs/libflacsys_plugin.a ../res-src/vlc/android/modules/demux/.libs/libxa_plugin.a ../res-src/vlc/android/modules/demux/.libs/libtta_plugin.a ../res-src/vlc/android/modules/demux/.libs/libmjpeg_plugin.a ../res-src/vlc/android/modules/demux/.libs/libogg_plugin.a ../res-src/vlc/android/modules/demux/.libs/libmkv_plugin.a ../res-src/vlc/android/modules/demux/.libs/libmp4_plugin.a ../res-src/vlc/android/modules/demux/.libs/libimage_plugin.a ../res-src/vlc/android/modules/demux/.libs/libavi_plugin.a ../res-src/vlc/android/modules/demux/.libs/libdirac_plugin.a ../res-src/vlc/android/modules/demux/.libs/libdemuxdump_plugin.a ../res-src/vlc/android/modules/demux/.libs/libvoc_plugin.a ../res-src/vlc/android/modules/demux/.libs/libpva_plugin.a ../res-src/vlc/android/modules/demux/.libs/librawvid_plugin.a ../res-src/vlc/android/modules/demux/.libs/libau_plugin.a ../res-src/vlc/android/modules/demux/.libs/libwav_plugin.a ../res-src/vlc/android/modules/demux/.libs/libh264_plugin.a ../res-src/vlc/android/modules/demux/.libs/libvc1_plugin.a ../res-src/vlc/android/modules/demux/.libs/liblive555_plugin.a ../res-src/vlc/android/modules/demux/.libs/libnsc_plugin.a ../res-src/vlc/android/modules/demux/.libs/libavformat_plugin.a ../res-src/vlc/android/modules/stream_filter/.libs/libdash_plugin.a ../res-src/vlc/android/modules/stream_filter/.libs/libsmooth_plugin.a ../res-src/vlc/android/modules/stream_filter/.libs/librecord_plugin.a ../res-src/vlc/android/modules/stream_filter/.libs/libdecomp_plugin.a ../res-src/vlc/android/modules/stream_filter/.libs/libhttplive_plugin.a ../res-src/vlc/android/modules/video_output/.libs/libvmem_plugin.a ../res-src/vlc/android/modules/video_output/.libs/libandroid_surface_plugin.a ../res-src/vlc/android/modules/mux/.libs/libmux_ps_plugin.a ../res-src/vlc/android/modules/mux/.libs/libmux_mp4_plugin.a ../res-src/vlc/android/modules/mux/.libs/libmux_ts_plugin.a ../res-src/vlc/android/modules/mux/.libs/libmux_wav_plugin.a ../res-src/vlc/android/modules/mux/.libs/libmux_ogg_plugin.a ../res-src/vlc/android/modules/mux/.libs/libmux_asf_plugin.a ../res-src/vlc/android/modules/mux/.libs/libmux_dummy_plugin.a ../res-src/vlc/android/modules/mux/.libs/libmux_avi_plugin.a ../res-src/vlc/android/modules/mux/.libs/libmux_mpjpeg_plugin.a ../res-src/vlc/android/modules/packetizer/.libs/libpacketizer_copy_plugin.a ../res-src/vlc/android/modules/packetizer/.libs/libpacketizer_mlp_plugin.a ../res-src/vlc/android/modules/packetizer/.libs/libpacketizer_mpeg4video_plugin.a ../res-src/vlc/android/modules/packetizer/.libs/libpacketizer_vc1_plugin.a ../res-src/vlc/android/modules/packetizer/.libs/libpacketizer_dirac_plugin.a ../res-src/vlc/android/modules/packetizer/.libs/libpacketizer_mpegvideo_plugin.a ../res-src/vlc/android/modules/packetizer/.libs/libpacketizer_flac_plugin.a ../res-src/vlc/android/modules/packetizer/.libs/libpacketizer_mpeg4audio_plugin.a ../res-src/vlc/android/modules/packetizer/.libs/libpacketizer_h264_plugin.a ../res-src/vlc/android/modules/audio_output/.libs/libamem_plugin.a ../res-src/vlc/android/modules/audio_output/.libs/libafile_plugin.a ../res-src/vlc/android/modules/audio_output/.libs/libopensles_android_plugin.a ../res-src/vlc/android/modules/audio_output/.libs/libandroid_audiotrack_plugin.a ../res-src/vlc/android/modules/arm_neon/.libs/libvolume_neon_plugin.a ../res-src/vlc/android/modules/arm_neon/.libs/libaudio_format_neon_plugin.a ../res-src/vlc/android/modules/arm_neon/.libs/libsimple_channel_mixer_neon_plugin.a ../res-src/vlc/android/modules/arm_neon/.libs/libyuv_rgb_neon_plugin.a ../res-src/vlc/android/modules/arm_neon/.libs/libchroma_yuv_neon_plugin.a ../res-src/vlc/android/modules/access/rtp/.libs/librtp_plugin.a ../res-src/vlc/android/modules/access/.libs/libaccess_vdr_plugin.a ../res-src/vlc/android/modules/access/.libs/libsdp_plugin.a ../res-src/vlc/android/modules/access/.libs/libaccess_tcp_plugin.a ../res-src/vlc/android/modules/access/.libs/libzip_plugin.a ../res-src/vlc/android/modules/access/.libs/libaccess_avio_plugin.a ../res-src/vlc/android/modules/access/.libs/libstream_filter_rar_plugin.a ../res-src/vlc/android/modules/access/.libs/libaccess_rar_plugin.a ../res-src/vlc/android/modules/access/.libs/libaccess_udp_plugin.a ../res-src/vlc/android/modules/access/.libs/libaccess_attachment_plugin.a ../res-src/vlc/android/modules/access/.libs/libaccess_ftp_plugin.a ../res-src/vlc/android/modules/access/.libs/libaccess_mms_plugin.a ../res-src/vlc/android/modules/access/.libs/libshm_plugin.a ../res-src/vlc/android/modules/access/.libs/libfilesystem_plugin.a ../res-src/vlc/android/modules/access/.libs/libaccess_http_plugin.a ../res-src/vlc/android/lib/.libs/libvlc.a ../res-src/vlc/android/src/.libs/libvlccore.a ../res-src/vlc/android/compat/.libs/libcompat.a -ldl -lz -llog -ldvbpsi -lebml -lmatroska -ltag -logg -lFLAC -ltheora -lmpeg2 -la52 -lavformat -lavcodec -lswscale -lavutil -lpostproc -lgsm -lopenjpeg -lliveMedia -lUsageEnvironment -lBasicUsageEnvironment -lgroupsock -lspeex -lspeexdsp -lxml2 -lpng -lgnutls -lgcrypt -lgpg-error -lfreetype -liconv -lass -lfribidi -lopus /opt/google/android/ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/libgnustl_static.a -lm -lstdc++ -lm -lc -lgcc -lc -ldl -lgcc /opt/google/android/ndk-r8e/platforms/android-9/arch-arm/usr/lib/crtend_so.o Install : libvlcjni.so => libs/armeabi/libvlcjni.so

Re: Video frame notification in Android application

Posted: 08 Jul 2013 18:45
by edwardw
Either the libvlc_set_video_filter patch has become outdated, or you can check the runtime debug log of VLC for Android.

Re: Video frame notification in Android application

Posted: 09 Jul 2013 07:31
by gregoiregentil
Patch is working. I was doing bad things....