[Bug 725640] context share not stable in Linux + catalyst

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sun Mar 9 18:30:38 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=725640
  GStreamer | gst-plugins-gl | git

--- Comment #7 from comicfans44 <comicfans44 at gmail.com> 2014-03-10 01:53:49 UTC ---
> See gst-plugins-gl/tests/examples/qt/qglwtextureshare for that example.  This route
> allows you to keep a reference to the GstBuffer containing the GL texture so
> that it doesn't disappear while you are using it.

I tried this example , but maybe there is still some bug (maybe fakesink)?
texture still not released and then
app crashes (I use gstreamer/plugin-base 1.2.3 plugin-gl git). 


> 
> If you want to check if context sharing is supported on your setup, there's a
> couple of tests available in gst-plugins-gl/tests/check/libs/gstglcontext that
> you can run.  To run them, cd to gst-plugins-gl/tests/check/ and run make
> libs/gstglcontext.check. (make help for some more invocations that are
> available).

I compared the code path between mine and qglwtextureshare, finally I found
this:

    // We need to unset Qt context before initializing gst-gl plugin.
    // Otherwise the attempt to share gst-gl context with Qt will fail.

I tried the same in my temp hacked code, no random lock any more. so I think
this is the trick.


(In reply to comment #5)
> You can now pass a GstGLContext to glimagesink (in git master).  And you can
> wrap an existing context in a GstGLContext.

Greate, I tried this and it worked!  


 I used other-context property to share, and clien-draw-callback to receive
texture ,
 so there's two window opened (one created by gst-gl and another is Qt)
drawing.
if swap buffer in both,sometimes window overlapping leads
 render stopped in both , switch between them some times may resume. 
disable swapping in gst context helped.but I think this is not gst-gl bug(maybe
X11 or driver?). 


maybe this bug can be closed.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list