[gst-devel] GstGL library and plugins

David Schleef ds at schleef.org
Sat Dec 29 02:26:34 CET 2007


The OpenGL code in gst-plugins-bad/sys/glsink is pretty much ready
to be moved to non-bad (ahem, other than documentation).  The code
is a library and some elements mashed together, and will be split
as part of the move.  The components:

  Library:

    GstGLDisplay - an object that represents a connection to a rendering
      engine.  For now, this means an X Display.
    GstGLBuffer - a subclass of GstBuffer for moving around video images
      inside textures.
    GstGLFilter - a subclass of GstBaseTransform used for filtering
      video streams inside the GL space.

  Elements:

    glimagesink - now handles video/x-raw-gl as well as video/x-raw-rgb
      and video/x-raw-yuv.  (Actually, this still needs work)
    glupload - uploads video to the rendering engine.  Converts from
      video/x-raw-rgb to video/x-raw-gl.
    gldownload - downloads video from the rendering engine.  Converts
      from video/x-raw-gl to video/x-raw-rgb.
    glfilterexample - an example filter
    gltestsrc - a copy of videotestsrc that works in the rendering
      engine space.

Ideally, I'd like to move the library to -base, except for one problem:
the library depends on libGL (i.e., Mesa).  This is different than all
the other libraries in -base, which only depend on the core.  There are
several alternatives:

  - Move libgstgl to -base, make -base require libGL (very bad)

  - Move libgstgl to -base, conditionally compile libgstgl, and
    conditionally install a separate gstreamer-plugins-base-gl-0.10.pc.  
    (acceptible, but tricks similar to this were annoying in 0.8)

  - Create a separate gst-plugins-opengl and move libgstgl there.
    (acceptible, but Yet Another gst package)

  - other?

Discuss.



dave...





More information about the gstreamer-devel mailing list