I am trying to work with JavaCV's FFmpegFrameGrabber on Android 4.4.2 / 4.3.1 .
Inside the onCreate(...) method I am calling:
FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(path)
This causes the following runtime error:
dlopen("/data/app-lib/com.example.testjavacv-1/libjniavdevice.so")
failed: dlopen failed: cannot locate symbol "av_input_audio_device_next"
referenced by "libjniavdevice.so"
Other (possible) relevant information:
1) I have included all the JavaCV .so libraries inside the libs/armeabi and libs/x86 folders.
2) I have given the application permissions to read/write to external storage and access the camera and microphone.
3) I am NOT statically loading any of the JavaCV native libraries before instantiating FFmpegFrameGrabber. This is because,
- Some of the libraries cause runtime exceptions when I attempt to load them statically by myself.
- I get the impression that JavaCV handles it's own native library loading - for example the error I get ocurrs even though I have not requested to load the
jniavdevice.so
library and happens only if the... new FFmpegFrameGrabber(...) ...
code is present.
4) I have taken a look at: https://groups.google.com/forum/#!topic/javacv/bgB5rCv_fVM which seems to address a similar issue, but the suggested solutions don't seem to work.
Any help on this issue would be much appreciated, Cheers!