mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
qmlgl: ensure Qt defines GLsync to fix compile on some platforms
By explictly including QtGui/qopengl.h we force the code path that defines GLsync in the Qt-specific way. Without that, some platforms failed to compile the qmlgl plugin, since neither Qt nor gstreamer defined GLsync then, leading to e.g.: ``` make[4]: Entering directory '/.../gst-plugins-good-1.16.1/ext/qt' CXX libgstqmlgl_la-qtitem.lo In file included from gstqtgl.h:32, from qtitem.h:27, from qtitem.cc:28: /.../usr/include/gstreamer-1.0/ gst/gl/gstglfuncs.h:93:17: error: expected identifier before ‘*’ token ret (GSTGLAPI *name) args; ^ /.../usr/include/gstreamer-1.0/ gst/gl/glprototypes/sync.h:27:1: note: in expansion of macro ‘GST_GL_EXT_FUNCTION’ GST_GL_EXT_FUNCTION (GLsync, FenceSync, ^~~~~~~~~~~~~~~~~~~ ```
This commit is contained in:
parent
4046970b01
commit
3e0d557744
1 changed files with 11 additions and 7 deletions
|
@ -22,14 +22,7 @@
|
|||
#include <QtGui/qtgui-config.h>
|
||||
#endif
|
||||
|
||||
/* qt uses the same trick as us to typedef GLsync on GLES2 but to a different
|
||||
* type which confuses the preprocessor. Instead of trying to reconcile the
|
||||
* two, we instead use the GLsync definition from Qt from above, and ensure
|
||||
* that we don't typedef GLsync in gstglfuncs.h */
|
||||
#include <gst/gl/gstglconfig.h>
|
||||
#undef GST_GL_HAVE_GLSYNC
|
||||
#define GST_GL_HAVE_GLSYNC 1
|
||||
#include <gst/gl/gstglfuncs.h>
|
||||
|
||||
/* The glext.h guard was renamed in 2018, but some software which
|
||||
* includes their own copy of the GL headers (such as qt) might have
|
||||
|
@ -46,6 +39,17 @@
|
|||
#endif
|
||||
#endif
|
||||
|
||||
/* pulls in GLsync, see below */
|
||||
#include <QtGui/qopengl.h>
|
||||
|
||||
/* qt uses the same trick as us to typedef GLsync on GLES2 but to a different
|
||||
* type which confuses the preprocessor. Instead of trying to reconcile the
|
||||
* two, we instead use the GLsync definition from Qt from above, and ensure
|
||||
* that we don't typedef GLsync in gstglfuncs.h */
|
||||
#undef GST_GL_HAVE_GLSYNC
|
||||
#define GST_GL_HAVE_GLSYNC 1
|
||||
#include <gst/gl/gstglfuncs.h>
|
||||
|
||||
#if defined(QT_OPENGL_ES_2)
|
||||
#include <QtGui/QOpenGLContext>
|
||||
#include <QtGui/QOpenGLFunctions>
|
||||
|
|
Loading…
Reference in a new issue