From: Haihua Hu Date: Sun, 12 Jun 2016 07:35:28 +0000 (+0800) Subject: qmlglsink: Add Wayland support X-Git-Tag: 1.16.2~680^2~48 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a07a9b0bc3f351225791330e779928513290684b;p=platform%2Fupstream%2Fgst-plugins-good.git qmlglsink: Add Wayland support Don't use gstgldisplay to get wayland display. Should use QPA on wayland to get wayland display for QT. https://bugzilla.gnome.org/show_bug.cgi?id=767553 --- diff --git a/ext/qt/Makefile.am b/ext/qt/Makefile.am index 5fdd90a..eab3e97 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 e1f91e7..2df087e 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 ();