From 72d6f7f4d652c9524c912987826f9950d9a7eca6 Mon Sep 17 00:00:00 2001 From: Andrea Sebastianutti Date: Mon, 25 Oct 2010 14:09:20 +0100 Subject: [PATCH] xvimagesink: Add read-only properties window-width and window-height --- sys/xvimage/xvimagesink.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/sys/xvimage/xvimagesink.c b/sys/xvimage/xvimagesink.c index aa53bcb554..ae84d08690 100644 --- a/sys/xvimage/xvimagesink.c +++ b/sys/xvimage/xvimagesink.c @@ -186,7 +186,9 @@ enum ARG_DOUBLE_BUFFER, ARG_AUTOPAINT_COLORKEY, ARG_COLORKEY, - ARG_DRAW_BORDERS + ARG_DRAW_BORDERS, + ARG_WINDOW_WIDTH, + ARG_WINDOW_HEIGHT }; static GstVideoSinkClass *parent_class = NULL; @@ -3362,6 +3364,18 @@ gst_xvimagesink_get_property (GObject * object, guint prop_id, case ARG_DRAW_BORDERS: g_value_set_boolean (value, xvimagesink->draw_borders); break; + case ARG_WINDOW_WIDTH: + if (xvimagesink->xwindow) + g_value_set_uint64 (value, xvimagesink->xwindow->width); + else + g_value_set_uint64 (value, 0); + break; + case ARG_WINDOW_HEIGHT: + if (xvimagesink->xwindow) + g_value_set_uint64 (value, xvimagesink->xwindow->height); + else + g_value_set_uint64 (value, 0); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -3581,6 +3595,16 @@ gst_xvimagesink_class_init (GstXvImageSinkClass * klass) "When enabled, " "the current frame will always be drawn in response to X Expose " "events", TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, ARG_WINDOW_WIDTH, + g_param_spec_uint64 ("window-width", "window-width", + "Width of the screen", 0, G_MAXUINT64, 0, + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + g_object_class_install_property (gobject_class, ARG_WINDOW_HEIGHT, + g_param_spec_uint64 ("window-height", "window-height", + "Height of the screen", 0, G_MAXUINT64, 0, + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + /** * GstXvImageSink:double-buffer *