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

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Mar 6 20:10:36 PST 2014


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

--- Comment #5 from Matthew Waters <ystreet00 at gmail.com> 2014-03-07 04:33:19 UTC ---
(In reply to comment #4)
> (In reply to comment #2)
> > What's the big picture of this?  
> 
> sorry for the unclear question. the demo code and patch is a test to confirm
> passing texture
> between shared context is not stable. to make the pipeline simpler ,I tried to
> make glimagesink
> also create share context( likes GstGLFilter other-context property).  

You can now pass a GstGLContext to glimagesink (in git master).  And you can
wrap an existing context in a GstGLContext.

> >Do you actually need to draw over top of the video?  
> > If so, you might need to take a look at the overpainting example here
> > http://qt-project.org/doc/qt-5.0/qtopengl/overpainting.html
> 
>  I am trying to use OpenGL painting over gst-gl processed video , the
> overpainting example 
> is helpful (and this is the way demo do),but the problem is , I must pass the
> texture back from gstreamer to qt thread 
> (I think the clientDrawCallback is the only way.) but this leads random lock
>  (the demo code is for comfirming this)

The other way is to use a glfilter ! fakesink/appsink pipeline and grab the
texture using the standard gst_video_{meta,frame}_map.  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.

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).

-- 
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