[Bug 784779] gl: public gstgl headers should not include GL headers

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Jul 25 07:28:44 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=784779

Matthew Waters (ystreet00) <ystreet00 at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #355741|none                        |needs-work
             status|                            |

--- Comment #7 from Matthew Waters (ystreet00) <ystreet00 at gmail.com> ---
Review of attachment 355741:
 --> (https://bugzilla.gnome.org/review?bug=784779&attachment=355741)

Ok there seems to a mismatch on the expected behaviour.  gst/gl/gl.h is the
top-level header for everybody to include and is also the single include used
for gobject-introspection as #include-ing random gstgl headers has gotten us
into trouble before (the glmemory includes are specially crafted) so changing
that behaviour to require this scenario for not using GL types/functions
probably isn't wise.

I think the best route is that gst/gl/gstglfuncs.h should not be #include-d in
gst/gl/gl.h which probably also has the effect of removing most of the header
changes introduced by this patch.  gst/gl/gstglfuncs.h should only be
#include-d in places where we need the actual GL types/enums/functions/etc in
addition to the gst/gl/gl.h #include.  If we want backwards compatibility, we
could follow mesa's GL_GLEXT_LEGACY/GL_GLEXT_PROTOTYPES defines.  Personally, I
don't think it's necessary but I could be wrong.

The added typedef's are also problematic if the type doesn't match the system
provided headers and/or GL/gl.h or GLES2/gl2.h aren't in system paths.

The added test looks good.

::: gst-libs/gst/gl/egl/gsteglimage.h
@@ +35,3 @@
 #define GST_EGL_IMAGE(obj)                         (GST_EGL_IMAGE_CAST(obj))

+typedef void *EGLImageKHR;

This may cause redefinition type warnings.  What's the plan for dealing with
these?

::: gst-libs/gst/gl/egl/gstglcontext_egl.h
@@ +46,3 @@
+typedef void *EGLSurface;
+typedef void *EGLContext;
+

This may cause redefinition type warnings unfortunately.  What's the plan for
dealing with these?

::: gst-libs/gst/gl/egl/gstgldisplay_egl.h
@@ +39,3 @@

+typedef void *EGLDisplay;
+

This may cause redefinition type warnings.  What's the plan for dealing with
these?

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