6

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?

PunK _l_ RuLz
  • 621
  • 6
  • 20

0 Answers0