diff options
author | gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969> | 2010-03-23 16:21:28 +0000 |
---|---|---|
committer | gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969> | 2010-03-23 16:21:28 +0000 |
commit | 2155318d12f35a518f6d58493876a3bfd5f26ff9 (patch) | |
tree | 76d225ab3f8fb7608f49e8379d733ad1a07c016c /gst-libs/gst/vaapi/gstvaapisubpicture.c | |
parent | 62df0f9b1c41a5aab69aa1ad82d06a4312498c5a (diff) |
Make GstVaapi{Surface,Image,Subpicture} derive from a GstVaapiObject.
Diffstat (limited to 'gst-libs/gst/vaapi/gstvaapisubpicture.c')
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapisubpicture.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/gst-libs/gst/vaapi/gstvaapisubpicture.c b/gst-libs/gst/vaapi/gstvaapisubpicture.c index 40c7447d..ca7e57b9 100644 --- a/gst-libs/gst/vaapi/gstvaapisubpicture.c +++ b/gst-libs/gst/vaapi/gstvaapisubpicture.c @@ -32,7 +32,7 @@ #define DEBUG 1 #include "gstvaapidebug.h" -G_DEFINE_TYPE(GstVaapiSubpicture, gst_vaapi_subpicture, G_TYPE_OBJECT); +G_DEFINE_TYPE(GstVaapiSubpicture, gst_vaapi_subpicture, GST_VAAPI_TYPE_OBJECT); #define GST_VAAPI_SUBPICTURE_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), \ @@ -54,14 +54,13 @@ enum { static void gst_vaapi_subpicture_destroy(GstVaapiSubpicture *subpicture) { + GstVaapiDisplay * const display = GST_VAAPI_OBJECT_GET_DISPLAY(subpicture); GstVaapiSubpicturePrivate * const priv = subpicture->priv; - GstVaapiDisplay *display; VAStatus status; GST_DEBUG("subpicture 0x%08x", priv->subpicture_id); if (priv->subpicture_id != VA_INVALID_ID) { - display = gst_vaapi_image_get_display(priv->image); if (display) { GST_VAAPI_DISPLAY_LOCK(display); status = vaDestroySubpicture( @@ -85,18 +84,14 @@ gst_vaapi_subpicture_destroy(GstVaapiSubpicture *subpicture) static gboolean gst_vaapi_subpicture_create(GstVaapiSubpicture *subpicture) { + GstVaapiDisplay * const display = GST_VAAPI_OBJECT_GET_DISPLAY(subpicture); GstVaapiSubpicturePrivate * const priv = subpicture->priv; - GstVaapiDisplay *display; VASubpictureID subpicture_id; VAStatus status; if (!priv->image) return FALSE; - display = gst_vaapi_image_get_display(priv->image); - if (!display) - return FALSE; - GST_VAAPI_DISPLAY_LOCK(display); status = vaCreateSubpicture( GST_VAAPI_DISPLAY_VADISPLAY(display), @@ -230,7 +225,8 @@ gst_vaapi_subpicture_new(GstVaapiImage *image) GST_DEBUG("create from image 0x%08x", gst_vaapi_image_get_id(image)); return g_object_new(GST_VAAPI_TYPE_SUBPICTURE, - "image", image, + "display", GST_VAAPI_OBJECT_GET_DISPLAY(image), + "image", image, NULL); } |