[Bug 704498] New: Doesn't compile on W32 against OpenGL

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Jul 18 12:23:47 PDT 2013


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

           Summary: Doesn't compile on W32 against OpenGL
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Windows
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-gl
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: lrn1986 at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


(this probably affects other systems, not just W32, but i only have W32, so
here you go...)

In file included from ../../../../gst-libs/gst/gl/gstgl_fwd.h:26:0,
                 from ../../../../gst-libs/gst/gl/gl.h:24,
                 from gstglwindow_win32.h:24,
                 from gstglwindow_win32.c:26:
../../../../gst-libs/gst/gl/glprototypes/gles1gles2.h:59:23: error: unknown
type name 'GLeglImageOES'
                       GLeglImageOES    image))
                       ^
../../../../gst-libs/gst/gl/gstglapi.h:84:24: note: in definition of macro
'GST_GL_EXT_FUNCTION'
   ret GSTGLAPI (*name) args;
                        ^
../../../../gst-libs/gst/gl/glprototypes/gles1gles2.h:62:23: error: unknown
type name 'GLeglImageOES'
                       GLeglImageOES    image))
                       ^
../../../../gst-libs/gst/gl/gstglapi.h:84:24: note: in definition of macro
'GST_GL_EXT_FUNCTION'
   ret GSTGLAPI (*name) args;
                        ^
make[5]: *** [libgstgl_win32_la-gstglwindow_win32.lo] Error 1

The type GLeglImageOES is from GLES/glext.h and is not present in any of the
GL/*.h headers. In GLES/glext.h it is defined like this:

/* GL_OES_EGL_image */
#ifndef GL_OES_EGL_image
typedef void* GLeglImageOES;
#endif
...
/* GL_OES_EGL_image */
#ifndef GL_OES_EGL_image
#define GL_OES_EGL_image 1
...


A quick-and-dirty way to fix this is to add

#ifndef GL_OES_EGL_image
typedef void* GLeglImageOES;
#endif
to gstglapi.h (after all GL and/or GLES headers are included)

The type is used in the prototypes of EGLImageTargetTexture2D and
EGLImageTargetRenderbufferStorage.

Considering the fact that they come from gles1gles2.h (that is, functions that
are only available in GLES, not in GL), it's clearly wrong to even consider
them when GLES is not available. Why the contents of gles1.h, gles1gles2.h and
gles2.h aren't under appropriate #ifdef?

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