From: gb Date: Fri, 5 Mar 2010 10:04:55 +0000 (+0000) Subject: Add helper to get GstVaapiDisplay from a surface. X-Git-Tag: accepted/trunk/20120822.173359~771 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=372e9f5d4da67d1013a33bf2b58accd93c2e04c3;p=profile%2Fivi%2Fgstreamer-vaapi.git Add helper to get GstVaapiDisplay from a surface. --- diff --git a/gst-libs/gst/vaapi/gstvaapisurface.c b/gst-libs/gst/vaapi/gstvaapisurface.c index 2f52850..c6ff1c1 100644 --- a/gst-libs/gst/vaapi/gstvaapisurface.c +++ b/gst-libs/gst/vaapi/gstvaapisurface.c @@ -111,7 +111,7 @@ gst_vaapi_surface_set_property(GObject *object, switch (prop_id) { case PROP_DISPLAY: - priv->display = g_object_ref(g_value_get_pointer(value)); + priv->display = g_object_ref(g_value_get_object(value)); break; case PROP_WIDTH: priv->width = g_value_get_uint(value); @@ -139,7 +139,8 @@ gst_vaapi_surface_get_property(GObject *object, switch (prop_id) { case PROP_DISPLAY: - g_value_set_pointer(value, g_object_ref(priv->display)); + /* gst_vaapi_surface_get_display() already refs the object */ + g_value_take_object(value, gst_vaapi_surface_get_display(surface)); break; case PROP_SURFACE_ID: g_value_set_uint(value, gst_vaapi_surface_get_id(surface)); @@ -283,6 +284,14 @@ gst_vaapi_surface_get_id(GstVaapiSurface *surface) return priv->surface_id; } +GstVaapiDisplay * +gst_vaapi_surface_get_display(GstVaapiSurface *surface) +{ + g_return_val_if_fail(GST_VAAPI_IS_SURFACE(surface), NULL); + + return g_object_ref(surface->priv->display); +} + guint gst_vaapi_surface_get_width(GstVaapiSurface *surface) { diff --git a/gst-libs/gst/vaapi/gstvaapisurface.h b/gst-libs/gst/vaapi/gstvaapisurface.h index cbbd1ba..7d8f276 100644 --- a/gst-libs/gst/vaapi/gstvaapisurface.h +++ b/gst-libs/gst/vaapi/gstvaapisurface.h @@ -77,6 +77,9 @@ gst_vaapi_surface_new(GstVaapiDisplay *display, VASurfaceID gst_vaapi_surface_get_id(GstVaapiSurface *surface); +GstVaapiDisplay * +gst_vaapi_surface_get_display(GstVaapiSurface *surface); + guint gst_vaapi_surface_get_width(GstVaapiSurface *surface);