From: gb Date: Mon, 22 Mar 2010 12:47:13 +0000 (+0000) Subject: Add gst_vaapi_window_get_fullscreen() helper and "fullscreen" property. X-Git-Tag: 0.1.1~27 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8e773e6d107ddf3e0cad7cdedae33cd6d15259ad;p=platform%2Fupstream%2Fgstreamer-vaapi.git Add gst_vaapi_window_get_fullscreen() helper and "fullscreen" property. --- diff --git a/docs/reference/libs/libs-sections.txt b/docs/reference/libs/libs-sections.txt index 852bd32..f12019b 100644 --- a/docs/reference/libs/libs-sections.txt +++ b/docs/reference/libs/libs-sections.txt @@ -166,8 +166,10 @@ GstVaapiRectangle GstVaapiWindow GstVaapiWindow GstVaapiWindowClass +gst_vaapi_window_get_display gst_vaapi_window_show gst_vaapi_window_hide +gst_vaapi_window_get_fullscreen gst_vaapi_window_set_fullscreen gst_vaapi_window_get_width gst_vaapi_window_get_height diff --git a/gst-libs/gst/vaapi/gstvaapiwindow.c b/gst-libs/gst/vaapi/gstvaapiwindow.c index d93f7af..9f2d2ab 100644 --- a/gst-libs/gst/vaapi/gstvaapiwindow.c +++ b/gst-libs/gst/vaapi/gstvaapiwindow.c @@ -49,7 +49,8 @@ enum { PROP_DISPLAY, PROP_WIDTH, - PROP_HEIGHT + PROP_HEIGHT, + PROP_FULLSCREEN }; static void @@ -113,6 +114,9 @@ gst_vaapi_window_set_property( case PROP_HEIGHT: gst_vaapi_window_set_height(window, g_value_get_uint(value)); break; + case PROP_FULLSCREEN: + gst_vaapi_window_set_fullscreen(window, g_value_get_boolean(value)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; @@ -139,6 +143,9 @@ gst_vaapi_window_get_property( case PROP_HEIGHT: g_value_set_uint(value, gst_vaapi_window_get_height(window)); break; + case PROP_FULLSCREEN: + g_value_set_boolean(value, window->priv->is_fullscreen); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; @@ -201,6 +208,15 @@ gst_vaapi_window_class_init(GstVaapiWindowClass *klass) "The window height", 1, G_MAXUINT32, 1, G_PARAM_READWRITE)); + + g_object_class_install_property + (object_class, + PROP_FULLSCREEN, + g_param_spec_boolean("fullscreen", + "Fullscreen", + "The fullscreen state of the window", + FALSE, + G_PARAM_READWRITE)); } static void @@ -265,6 +281,22 @@ gst_vaapi_window_hide(GstVaapiWindow *window) } /** + * gst_vaapi_window_get_fullscreen: + * @window: a #GstVaapiWindow + * + * Retrieves whether the @window is fullscreen or not + * + * Return value: %TRUE if the window is fullscreen + */ +gboolean +gst_vaapi_window_get_fullscreen(GstVaapiWindow *window) +{ + g_return_val_if_fail(GST_VAAPI_IS_WINDOW(window), FALSE); + + return window->priv->is_fullscreen; +} + +/** * gst_vaapi_window_set_fullscreen: * @window: a #GstVaapiWindow * @fullscreen: %TRUE to request window to get fullscreen diff --git a/gst-libs/gst/vaapi/gstvaapiwindow.h b/gst-libs/gst/vaapi/gstvaapiwindow.h index 4c2bbcb..2eb1f0e 100644 --- a/gst-libs/gst/vaapi/gstvaapiwindow.h +++ b/gst-libs/gst/vaapi/gstvaapiwindow.h @@ -110,6 +110,9 @@ gst_vaapi_window_show(GstVaapiWindow *window); void gst_vaapi_window_hide(GstVaapiWindow *window); +gboolean +gst_vaapi_window_get_fullscreen(GstVaapiWindow *window); + void gst_vaapi_window_set_fullscreen(GstVaapiWindow *window, gboolean fullscreen);