<div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Neil, <div><br></div><div>A quick update for the test:</div><div><br></div><div>I followed your suggestions to set the system properties:<br></div><div><div>System.setProperty("gstreamer.GstNative.nameFormats", "<a href="http://libgstreamer-full-1.0.so">libgstreamer-full-1.0.so</a>");<br></div><div>System.setProperty("gstreamer.GNative.nameFormats", "<a href="http://libgstreamer-full-1.0.so">libgstreamer-full-1.0.so</a>");</div></div><div>Then the Java program can load the corresponding libraries.<br></div><div><br></div><div>Here is the log:<br></div><div><div>May 09, 2022 1:59:23 PM com.sun.jna.NativeLibrary loadLibrary</div><div>INFO: Found library '<a href="http://libgstreamer-full-1.0.so">libgstreamer-full-1.0.so</a>' at <a href="http://libgstreamer-full-1.0.so">libgstreamer-full-1.0.so</a></div></div><div><br></div><div>Appreciate your help.</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 9, 2022 at 9:27 PM Bo-Kai Huang <<a href="mailto:lightbulb01@gmail.com">lightbulb01@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Neil and Scerveau,</div><div dir="ltr"><br></div><div>My current workaround is to add symbolic links to the <a href="http://libgstreamer-full-1.0.so" target="_blank">libgstreamer-full-1.0.so</a>, it looks like:</div><div><a href="http://libglib-2.0.so" target="_blank">libglib-2.0.so</a> --> <a href="http://libgstreamer-ful-1.0.so" target="_blank">libgstreamer-ful-1.0.so</a></div><div><a href="http://libgobject-2.0.so" target="_blank">libgobject-2.0.so</a> --> <a href="http://libgstreamer-full-1.0.so" target="_blank">libgstreamer-full-1.0.so</a></div><div><a href="http://libgstsdp-1.0.so" target="_blank">libgstsdp-1.0.so</a> --> <a href="http://libgstreamer-full-1.0.so" target="_blank">libgstreamer-full-1.0.so</a></div><div><br></div><div>Then I set the environment variable $LD_LIBRARY_PATH to the location of <a href="http://libgstreamer-full.1.0.so" target="_blank">libgstreamer-full.1.0.so</a> and the symbolic links.</div><div>Though it is just workarounds, the Java program can load these dependencies and run.</div><div><br></div><div>Thanks for all your help.</div><div><br></div><br><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 9, 2022 at 8:49 PM Neil C Smith via gstreamer-devel <<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Sun, 8 May 2022 at 08:15, scerveau via gstreamer-devel<br>
<<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>> wrote:<br>
> According to my understanding the problem is related to the JAVA binding and how they load the libraries.<br>
><br>
> It seems that <a href="https://github.com/gstreamer-java/gst1-java-core" rel="noreferrer" target="_blank">https://github.com/gstreamer-java/gst1-java-core</a> is not ready to use gstreamer-full.<br>
><br>
> You should open an issue or propose a patch to support gstreamer-full there.<br>
<br>
Caveat - I don't have time to dive too deeply into this at the moment,<br>
and it's not something that I know has been done, but ..<br>
<br>
This should be achievable by using system properties to change the<br>
name of the library that is looked up - eg. setting<br>
gstreamer.GNative.nameFormats to just be the name of the static<br>
library might work OK.<br>
<br>
<a href="https://github.com/gstreamer-java/gst1-java-core/blob/master/src/org/freedesktop/gstreamer/lowlevel/GNative.java#L46" rel="noreferrer" target="_blank">https://github.com/gstreamer-java/gst1-java-core/blob/master/src/org/freedesktop/gstreamer/lowlevel/GNative.java#L46</a><br>
<br>
To save messing with the path, it should also be feasible to use JNA's<br>
NativeLibrary::addSearchPath for the native library.<br>
<br>
If there are still issues, try setting the system property<br>
jna.debug_load=true and see if there's any further info.<br>
<br>
Feel free to follow up on our mailing list / issue tracker.<br>
<br>
Hope that helps.<br>
<br>
Best wishes,<br>
<br>
Neil<br>
<br>
<br>
-- <br>
Neil C Smith<br>
Codelerity Ltd.<br>
<a href="http://www.codelerity.com" rel="noreferrer" target="_blank">www.codelerity.com</a><br>
<br>
Codelerity Ltd. is a company registered in England and Wales<br>
Registered company number : 12063669<br>
Registered office address : Office 4 219 Kensington High Street,<br>
Kensington, London, England, W8 6BD<br>
</blockquote></div>
</blockquote></div>