Question about static build GStreamer library still uses GLib2 dynamically

Bo-Kai Huang lightbulb01 at gmail.com
Mon May 9 14:16:35 UTC 2022


Hi Neil,

A quick update for the test:

I followed your suggestions to set the system properties:
System.setProperty("gstreamer.GstNative.nameFormats", "
libgstreamer-full-1.0.so");
System.setProperty("gstreamer.GNative.nameFormats", "
libgstreamer-full-1.0.so");
Then the Java program can load the corresponding libraries.

Here is the log:
May 09, 2022 1:59:23 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Found library 'libgstreamer-full-1.0.so' at libgstreamer-full-1.0.so

Appreciate your help.

On Mon, May 9, 2022 at 9:27 PM Bo-Kai Huang <lightbulb01 at gmail.com> wrote:

> Hi Neil and Scerveau,
>
> My current workaround is to add symbolic links to the
> libgstreamer-full-1.0.so, it looks like:
> libglib-2.0.so --> libgstreamer-ful-1.0.so
> libgobject-2.0.so --> libgstreamer-full-1.0.so
> libgstsdp-1.0.so --> libgstreamer-full-1.0.so
>
> Then I set the environment variable $LD_LIBRARY_PATH to the location of
> libgstreamer-full.1.0.so and the symbolic links.
> Though it is just workarounds, the Java program can load these
> dependencies and run.
>
> Thanks for all your help.
>
>
>
>
> On Mon, May 9, 2022 at 8:49 PM Neil C Smith via gstreamer-devel <
> gstreamer-devel at lists.freedesktop.org> wrote:
>
>> On Sun, 8 May 2022 at 08:15, scerveau via gstreamer-devel
>> <gstreamer-devel at lists.freedesktop.org> wrote:
>> > According to my understanding the problem is related to the JAVA
>> binding and how they load the libraries.
>> >
>> > It seems that https://github.com/gstreamer-java/gst1-java-core is not
>> ready to use gstreamer-full.
>> >
>> > You should open an issue or propose a patch to support gstreamer-full
>> there.
>>
>> Caveat - I don't have time to dive too deeply into this at the moment,
>> and it's not something that I know has been done, but ..
>>
>> This should be achievable by using system properties to change the
>> name of the library that is looked up - eg. setting
>> gstreamer.GNative.nameFormats to just be the name of the static
>> library might work OK.
>>
>>
>> https://github.com/gstreamer-java/gst1-java-core/blob/master/src/org/freedesktop/gstreamer/lowlevel/GNative.java#L46
>>
>> To save messing with the path, it should also be feasible to use JNA's
>> NativeLibrary::addSearchPath for the native library.
>>
>> If there are still issues, try setting the system property
>> jna.debug_load=true and see if there's any further info.
>>
>> Feel free to follow up on our mailing list / issue tracker.
>>
>> Hope that helps.
>>
>> Best wishes,
>>
>> Neil
>>
>>
>> --
>> Neil C Smith
>> Codelerity Ltd.
>> www.codelerity.com
>>
>> Codelerity Ltd. is a company registered in England and Wales
>> Registered company number : 12063669
>> Registered office address : Office 4 219 Kensington High Street,
>> Kensington, London, England, W8 6BD
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20220509/7995962a/attachment.htm>


More information about the gstreamer-devel mailing list