anubhav94 / gstreamer-java

Automatically exported from code.google.com/p/gstreamer-java
0 stars 0 forks source link

1.5 with SWT on Ubuntu 10.04 (LTS) "undefined symbol: gst_x_overlay_set_window_handle" #81

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Using gstreamer 1.5 on Ubuntu 10.04 (LTS) and using 
org.gstreamer.swt.overlay.VideoComponent to display video results in the 
following error and the video remains in its own window (does not enter the 
provided window).  This problem does not happen on Ubuntu 11.04.

JNA: Callback org.gstreamer.Bin$1@fcfa52 threw the following exception:
java.lang.UnsatisfiedLinkError: Error looking up function 
'gst_x_overlay_set_window_handle': /usr/lib/libgstinterfaces-0.10.so.0: 
undefined symbol: gst_x_overlay_set_window_handle
    at com.sun.jna.Function.<init>(Function.java:179)
    at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:345)
    at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:325)
    at com.sun.jna.Library$Handler.invoke(Library.java:203)
    at $Proxy30.gst_x_overlay_set_window_handle(Unknown Source)
    at org.gstreamer.interfaces.XOverlay.setWindowHandle(XOverlay.java:61)
    at org.gstreamer.swt.overlay.VideoComponent.setOverlay(Unknown Source)
    at org.gstreamer.swt.overlay.VideoComponent.access$200(Unknown Source)
    at org.gstreamer.swt.overlay.VideoComponent$1.elementAdded(Unknown Source)
    at org.gstreamer.Bin$1.callback(Bin.java:295)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.sun.jna.CallbackReference$DefaultCallbackProxy.invokeCallback(CallbackReference.java:384)
    at com.sun.jna.CallbackReference$DefaultCallbackProxy.callback(CallbackReference.java:414)

Sample code to reproduce this issue:

final Display display = new Display();
Shell shell = new Shell(display);

Gst.init("VideoPlayer", new String[] {});
final PlayBin2 playbin = new PlayBin2("VideoPlayer");

shell.setLayout(new FillLayout());
VideoComponent videoComponent = new VideoComponent(shell, SWT.NO_BACKGROUND);
videoComponent.setKeepAspect(true);
videoComponent.expose(); // This is important on Ubuntu 10.10 (not needed on 
10.04).
playbin.setVideoSink(videoComponent.getElement());
shell.open();

playbin.setInputFile(new File(mediaFile));
playbin.setState(State.PLAYING);

while (!shell.isDisposed()) {
    if (!display.readAndDispatch()) display.sleep();
}
display.dispose();

I can understand it if you do not have time to fix this though as 10.04 is 
quite old now, even if it is the LTS release.

Original issue reported on code.google.com by AlexHut...@gmail.com on 5 Aug 2011 at 8:06

GoogleCodeExporter commented 9 years ago
gstreamer-java does not maintain backward-compatibility with older versions of 
gstreamer implementations. It is up to the developers to upgrade the gstreamer 
libraries.

Original comment by tsha...@gmail.com on 6 Aug 2011 at 3:38