summaryrefslogtreecommitdiff
path: root/sys/ximage/ximagesink.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/ximage/ximagesink.c')
-rw-r--r--sys/ximage/ximagesink.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/ximage/ximagesink.c b/sys/ximage/ximagesink.c
index a3612f8a..4a6f095a 100644
--- a/sys/ximage/ximagesink.c
+++ b/sys/ximage/ximagesink.c
@@ -180,6 +180,8 @@ static GstVideoSinkClass *parent_class = NULL;
/* ximage buffers */
+static GstBufferClass *ximage_buffer_parent_class = NULL;
+
#define GST_TYPE_XIMAGE_BUFFER (gst_ximage_buffer_get_type())
#define GST_IS_XIMAGE_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_XIMAGE_BUFFER))
@@ -236,6 +238,10 @@ gst_ximage_buffer_finalize (GstXImageBuffer * ximage)
recycled = TRUE;
}
+ if (!recycled)
+ GST_MINI_OBJECT_CLASS (ximage_buffer_parent_class)->
+ finalize (GST_MINI_OBJECT (ximage));
+
beach:
return;
}
@@ -263,6 +269,8 @@ gst_ximage_buffer_class_init (gpointer g_class, gpointer class_data)
{
GstMiniObjectClass *mini_object_class = GST_MINI_OBJECT_CLASS (g_class);
+ ximage_buffer_parent_class = g_type_class_peek_parent (g_class);
+
mini_object_class->finalize = (GstMiniObjectFinalizeFunction)
gst_ximage_buffer_finalize;
}