From bfac678e9ad6d17c6a8f1a4e493bb97619a569fc Mon Sep 17 00:00:00 2001 From: Hyunjun Ko Date: Wed, 8 Nov 2017 13:27:06 +0900 Subject: videocontext: support wl-display in "gst.vaapi.app.Display" Through "gst.vaapi.app.Display" context, users can set their own VADisplay and native display of their backend. So far we support only X11 display, from now we also support Wayland display. Attributes: - wl-display : pointer of struct wl_display . https://bugzilla.gnome.org/show_bug.cgi?id=705821 --- gst/vaapi/gstvaapivideocontext.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gst/vaapi/gstvaapivideocontext.c b/gst/vaapi/gstvaapivideocontext.c index 4c5a1d3c..afc52681 100644 --- a/gst/vaapi/gstvaapivideocontext.c +++ b/gst/vaapi/gstvaapivideocontext.c @@ -31,6 +31,9 @@ #if USE_X11 #include #endif +#if USE_WAYLAND +#include +#endif GST_DEBUG_CATEGORY_STATIC (GST_CAT_CONTEXT); @@ -103,6 +106,17 @@ gst_vaapi_video_context_get_display (GstContext * context, gboolean app_context, gst_vaapi_display_x11_new_with_va_display (va_display, x11_display); } #endif +#if USE_WAYLAND + if (!display) { + struct wl_display *wl_display = NULL; + if (gst_structure_get (structure, "wl-display", G_TYPE_POINTER, + &wl_display, NULL)) { + display = + gst_vaapi_display_wayland_new_with_va_display (va_display, + wl_display); + } + } +#endif _init_context_debug (); -- cgit v1.2.3