[gstreamer-bugs] [Bug 597253] New: [gst-plugins-gl] rewrite the way a gstgldisplay is forwarded

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sat Oct 3 17:55:46 PDT 2009


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

           Summary: [gst-plugins-gl] rewrite the way a gstgldisplay is
                    forwarded
    Classification: Desktop
           Product: GStreamer
           Version: git
        OS/Version: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-gl
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: julien.isorce at gmail.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


Created an attachment (id=144693)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=144693)
patch

** Current implementation:
A gstgldisplay is instancied by the gl src in terms of gl chain.
And then the next element get it through the first gstglbuffer.
For example, in videotestsrc ! glupload ! glfilter ! glimagesink
there is one gstgldisplay created by glupload, and forwarded to glfilter and
glimagesink through the first gstglbuffer.

** New way (patch):
Now, this is done though queries.
All glelements get their ref on a gstgldisplay in READY state.
A gstgldisplay is created by the gl sink (in terms of gl chain) and transmited
to the other gl elements of the same chain through queries.

** Main reason:
This rewrite is mainly a first step to be able to share OpenGL context hold
by the gstgldisplay using more complex glelements.
For example, with a glvideomixer. The associated gstgldisplay of each gl chain
of the sink pads will share their OpenGL context.

** Why current implementation is blocker:
[It's not possible with the current implementation because no textures and no
other opengl stuffs (fbo, shader) must exist before all opengl constext are
shared. And gstgldisplay was transmited through the first gstglbuffer which
contains a gltexture (and fbo and shaders are already initialized)]

** Pending work:
For now, I wrote this patch using GST_QUERY_CUSTOM, but I would like to have a
specific GstQueryType.
I could use gst_query_type_register ("gstgldisplay", "gstgldisplay of gl
chain"),
but I really do not know where to put this call. Because all gl elements has to
know this query type.

** Submit:
I would like that some guys review this patch because I am not sure to use
queries in the best way.
(all tests/pipelines and tests/examples are still working on win32, not tested
yet on other platforms)

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