This is a multi-part question. That I have regarding the .so file generation of GStreamer.
I need to upgrade from 1.14.4 to 1.16.1 version. I followed this to generate the required .so files.
In the project, gst-launch-remote is being used. If I try and build GStreamer 1.16.1 with NDK 18. I get
error: undefined reference to 'gst_net_client_clock_new' clang++: error: linker command failed with exit code 1
I double-checked and the variable being referenced is present in the source code and the required header files are also included.
Question -- How do I resolve this build issue?
For the time being, I commented out the line which caused the build failure with which I can generate the .so files.
The .so files being generated are huge ~ 150 MBs. Which has massively increased the size of the .APK file. The current one being used in the project is around 40-50 MBs.
Question -- Is there any way to reduce the size of the .so files?
When I dug deeper. I found two .so files being generated inside the path
.../android-launch/app/build/intermediates/ndkBuild/debug/obj/local/x86_64
One was the GStreamer and another was the 'C' file that I was using as JNI. But in my output folder I just the GStreamer .so.
Question -- Is the 'C' .so file acts as an interface to the GStreamer .so file? Does anyone know why the other 'C' .so is used for?
Question -- Is there a way I can generate multiple .so files which can as an interface to GStreamer .so file? If yes, then how?