From: gb Date: Thu, 11 Mar 2010 12:30:12 +0000 (+0000) Subject: New refcounting policy. All getters return a reference, not a copy. So the user shall... X-Git-Tag: 1.19.3~503^2~3754 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ac1243b28c206d317f20ef7f55227a77bde11b24;p=platform%2Fupstream%2Fgstreamer.git New refcounting policy. All getters return a reference, not a copy. So the user shall reference the object itself, should he wish so. --- diff --git a/gst-libs/gst/vaapi/gstvaapiimage.c b/gst-libs/gst/vaapi/gstvaapiimage.c index fdc99f2..fa97e4d 100644 --- a/gst-libs/gst/vaapi/gstvaapiimage.c +++ b/gst-libs/gst/vaapi/gstvaapiimage.c @@ -123,7 +123,7 @@ gst_vaapi_image_set_property( 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); @@ -148,12 +148,11 @@ gst_vaapi_image_get_property( GParamSpec *pspec ) { - GstVaapiImage * const image = GST_VAAPI_IMAGE(object); - GstVaapiImagePrivate * const priv = image->priv; + GstVaapiImage * const image = GST_VAAPI_IMAGE(object); switch (prop_id) { case PROP_DISPLAY: - g_value_set_pointer(value, g_object_ref(priv->display)); + g_value_set_pointer(value, gst_vaapi_image_get_display(image)); break; case PROP_IMAGE_ID: g_value_set_uint(value, gst_vaapi_image_get_id(image)); @@ -296,7 +295,7 @@ gst_vaapi_image_get_display(GstVaapiImage *image) { g_return_val_if_fail(GST_VAAPI_IS_IMAGE(image), NULL); - return g_object_ref(image->priv->display); + return image->priv->display; } guint diff --git a/gst-libs/gst/vaapi/gstvaapisubpicture.c b/gst-libs/gst/vaapi/gstvaapisubpicture.c index 5ea5660..4c6c4f4 100644 --- a/gst-libs/gst/vaapi/gstvaapisubpicture.c +++ b/gst-libs/gst/vaapi/gstvaapisubpicture.c @@ -60,7 +60,6 @@ gst_vaapi_subpicture_destroy(GstVaapiSubpicture *subpicture) gst_vaapi_display_get_display(display), priv->subpicture_id ); - g_object_unref(display); if (!vaapi_check_status(status, "vaDestroySubpicture()")) g_warning("failed to destroy subpicture 0x%08x\n", priv->subpicture_id); @@ -94,7 +93,6 @@ gst_vaapi_subpicture_create(GstVaapiSubpicture *subpicture) gst_vaapi_image_get_id(priv->image), &subpicture_id ); - g_object_unref(display); if (!vaapi_check_status(status, "vaCreateSubpicture()")) return FALSE; @@ -218,7 +216,7 @@ gst_vaapi_subpicture_get_image(GstVaapiSubpicture *subpicture) { g_return_val_if_fail(GST_VAAPI_IS_SUBPICTURE(subpicture), NULL); - return g_object_ref(subpicture->priv->image); + return subpicture->priv->image; } void diff --git a/gst-libs/gst/vaapi/gstvaapisurface.c b/gst-libs/gst/vaapi/gstvaapisurface.c index d3b68cf..efc9719 100644 --- a/gst-libs/gst/vaapi/gstvaapisurface.c +++ b/gst-libs/gst/vaapi/gstvaapisurface.c @@ -138,8 +138,7 @@ gst_vaapi_surface_get_property(GObject *object, switch (prop_id) { case PROP_DISPLAY: - /* gst_vaapi_surface_get_display() already refs the object */ - g_value_take_object(value, gst_vaapi_surface_get_display(surface)); + g_value_set_object(value, gst_vaapi_surface_get_display(surface)); break; case PROP_SURFACE_ID: g_value_set_uint(value, gst_vaapi_surface_get_id(surface)); @@ -272,7 +271,7 @@ 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); + return surface->priv->display; } guint