summaryrefslogtreecommitdiff
path: root/gst-libs/gst/vaapi/gstvaapisubpicture.c
diff options
context:
space:
mode:
authorgb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>2010-03-23 16:21:28 +0000
committergb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>2010-03-23 16:21:28 +0000
commit2155318d12f35a518f6d58493876a3bfd5f26ff9 (patch)
tree76d225ab3f8fb7608f49e8379d733ad1a07c016c /gst-libs/gst/vaapi/gstvaapisubpicture.c
parent62df0f9b1c41a5aab69aa1ad82d06a4312498c5a (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.c14
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);
}