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
This commit is contained in:
Hyunjun Ko 2017-11-08 13:27:06 +09:00 committed by Víctor Manuel Jáquez Leal
parent 1825d939e7
commit bfac678e9a

View file

@ -31,6 +31,9 @@
#if USE_X11
#include <gst/vaapi/gstvaapidisplay_x11.h>
#endif
#if USE_WAYLAND
#include <gst/vaapi/gstvaapidisplay_wayland.h>
#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 ();