diff --git a/ext/qt/Makefile.am b/ext/qt/Makefile.am index 5fdd90a05b..eab3e97ec6 100644 --- a/ext/qt/Makefile.am +++ b/ext/qt/Makefile.am @@ -26,6 +26,7 @@ libgstqtsink_la_SOURCES = \ libgstqtsink_la_CXXFLAGS = \ -I$(top_srcdir)/gst-libs \ -I$(top_builddir)/gst-libs \ + -I$(QPA_INCLUDE_PATH) \ $(GST_CXXFLAGS) \ $(GST_BASE_CFLAGS) \ $(GST_PLUGINS_BASE_CFLAGS) \ diff --git a/ext/qt/qtitem.cc b/ext/qt/qtitem.cc index e1f91e76fc..2df087e7d7 100644 --- a/ext/qt/qtitem.cc +++ b/ext/qt/qtitem.cc @@ -32,6 +32,7 @@ #include #include #include +#include #if GST_GL_HAVE_WINDOW_X11 && GST_GL_HAVE_PLATFORM_GLX && defined (HAVE_QT_X11) #include @@ -147,6 +148,17 @@ QtGLVideoItem::QtGLVideoItem() this->priv->display = (GstGLDisplay *) gst_gl_display_x11_new_with_display (QX11Info::display ()); #endif +#if GST_GL_HAVE_WINDOW_WAYLAND && GST_GL_HAVE_PLATFORM_EGL && defined (HAVE_QT_WAYLAND) + if (QString::fromUtf8 ("wayland") == app->platformName()){ + struct wl_display * wayland_display; + QPlatformNativeInterface *native = + QGuiApplication::platformNativeInterface(); + wayland_display = (struct wl_display *) + native->nativeResourceForWindow("display", NULL); + this->priv->display = (GstGLDisplay *) + gst_gl_display_wayland_new_with_display (wayland_display); + } +#endif #if GST_GL_HAVE_WINDOW_ANDROID && GST_GL_HAVE_PLATFORM_EGL && defined (HAVE_QT_ANDROID) if (QString::fromUtf8 ("android") == app->platformName()) this->priv->display = (GstGLDisplay *) gst_gl_display_egl_new ();