libs: display: x11: add gst_vaapi_display_x11_new_with_va_display()

Implements new API function so that users could create GstVaapiDisplay
with their own VADisplay within a native display as backend.

https://bugzilla.gnome.org/show_bug.cgi?id=766704
This commit is contained in:
Hyunjun Ko 2017-07-05 14:33:38 +09:00 committed by Víctor Manuel Jáquez Leal
parent 356212214b
commit d78e094fd4
2 changed files with 19 additions and 0 deletions

View file

@ -373,6 +373,22 @@ gst_vaapi_display_x11_new_with_display (Display * x11_display)
GST_VAAPI_DISPLAY_INIT_FROM_NATIVE_DISPLAY, x11_display);
}
GstVaapiDisplay *
gst_vaapi_display_x11_new_with_va_display (VADisplay va_display,
Display * x11_display)
{
GstVaapiDisplayInfo info = {
.va_display = va_display,
.native_display = x11_display,
.display_type = GST_VAAPI_DISPLAY_TYPE_X11,
};
g_return_val_if_fail (x11_display, NULL);
return gst_vaapi_display_new (g_object_new (GST_TYPE_VAAPI_DISPLAY_X11, NULL),
GST_VAAPI_DISPLAY_INIT_FROM_VA_DISPLAY, &info);
}
/**
* gst_vaapi_display_x11_get_display:
* @display: a #GstVaapiDisplayX11

View file

@ -42,6 +42,9 @@ gst_vaapi_display_x11_new (const gchar * display_name);
GstVaapiDisplay *
gst_vaapi_display_x11_new_with_display (Display * x11_display);
GstVaapiDisplay *
gst_vaapi_display_x11_new_with_va_display (VADisplay va_display, Display * x11_display);
Display *
gst_vaapi_display_x11_get_display (GstVaapiDisplayX11 * display);