From fddeb54248883d5fb1f77eb2fb1827edaf591b23 Mon Sep 17 00:00:00 2001 From: gb Date: Thu, 25 Mar 2010 17:18:36 +0000 Subject: [PATCH] Add gst_vaapi_window_x11_is_foreign_xid() helper. --- gst-libs/gst/vaapi/gstvaapiwindow_x11.c | 17 +++++++++++++++++ gst-libs/gst/vaapi/gstvaapiwindow_x11.h | 3 +++ 2 files changed, 20 insertions(+) diff --git a/gst-libs/gst/vaapi/gstvaapiwindow_x11.c b/gst-libs/gst/vaapi/gstvaapiwindow_x11.c index 213e7255e4..3ced139cb0 100644 --- a/gst-libs/gst/vaapi/gstvaapiwindow_x11.c +++ b/gst-libs/gst/vaapi/gstvaapiwindow_x11.c @@ -564,3 +564,20 @@ gst_vaapi_window_x11_get_xid(GstVaapiWindowX11 *window) return GST_VAAPI_OBJECT_ID(window); } + +/** + * gst_vaapi_window_x11_is_foreign_xid: + * @window: a #GstVaapiWindowX11 + * + * Checks whether the @window XID was created by gst_vaapi_window_x11_new() or bound with gst_vaapi_window_x11_new_with_xid(). + * + * Return value: %TRUE if the underlying X window is owned by the + * caller (foreign window) + */ +gboolean +gst_vaapi_window_x11_is_foreign_xid(GstVaapiWindowX11 *window) +{ + g_return_val_if_fail(GST_VAAPI_IS_WINDOW_X11(window), FALSE); + + return !window->priv->create_window; +} diff --git a/gst-libs/gst/vaapi/gstvaapiwindow_x11.h b/gst-libs/gst/vaapi/gstvaapiwindow_x11.h index cf3da5dafa..424200f861 100644 --- a/gst-libs/gst/vaapi/gstvaapiwindow_x11.h +++ b/gst-libs/gst/vaapi/gstvaapiwindow_x11.h @@ -105,6 +105,9 @@ gst_vaapi_window_x11_new_with_xid(GstVaapiDisplay *display, Window xid); Window gst_vaapi_window_x11_get_xid(GstVaapiWindowX11 *window); +gboolean +gst_vaapi_window_x11_is_foreign_xid(GstVaapiWindowX11 *window); + G_END_DECLS #endif /* GST_VAAPI_WINDOW_X11_H */