static void gst_vaapi_surface_proxy_set_property( GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec ) { GstVaapiSurfaceProxy * const proxy = GST_VAAPI_SURFACE_PROXY(object); switch (prop_id) { case PROP_CONTEXT: gst_vaapi_surface_proxy_set_context(proxy, g_value_get_pointer(value)); break; case PROP_SURFACE: gst_vaapi_surface_proxy_set_surface(proxy, g_value_get_pointer(value)); break; case PROP_TIMESTAMP: gst_vaapi_surface_proxy_set_timestamp(proxy, g_value_get_uint64(value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; } }
/** * gst_vaapi_surface_proxy_ref: * @proxy: a #GstVaapiSurfaceProxy * * Atomically increases the reference count of the given @proxy by one. * * Returns: The same @proxy argument */ GstVaapiSurfaceProxy * gst_vaapi_surface_proxy_ref (GstVaapiSurfaceProxy * proxy) { g_return_val_if_fail (proxy != NULL, NULL); return GST_VAAPI_SURFACE_PROXY (gst_vaapi_mini_object_ref (GST_VAAPI_MINI_OBJECT (proxy))); }
static void gst_vaapi_surface_proxy_finalize(GObject *object) { GstVaapiSurfaceProxy * const proxy = GST_VAAPI_SURFACE_PROXY(object); GstVaapiSurfaceProxyPrivate * const priv = proxy->priv; if (priv->surface) { if (priv->context) gst_vaapi_context_put_surface(priv->context, priv->surface); g_object_unref(priv->surface); priv->surface = NULL; } if (priv->context) { g_object_unref(priv->context); priv->context = NULL; } G_OBJECT_CLASS(gst_vaapi_surface_proxy_parent_class)->finalize(object); }