[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