From 8d522bf3e61b6bcb5bb3b251469105ffbc4c5d73 Mon Sep 17 00:00:00 2001 From: Vivia Nikolaidou Date: Fri, 17 Jan 2020 17:44:34 +0200 Subject: [PATCH] mpegtsparse: Moved dispose function into finalize dispose can be called several times and would double-free the flow combiner in that case. --- gst/mpegtsdemux/mpegtsparse.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/gst/mpegtsdemux/mpegtsparse.c b/gst/mpegtsdemux/mpegtsparse.c index 360bcea..a253a21 100644 --- a/gst/mpegtsdemux/mpegtsparse.c +++ b/gst/mpegtsdemux/mpegtsparse.c @@ -131,20 +131,12 @@ static GstFlowReturn drain_pending_buffers (MpegTSParse2 * parse, gboolean drain_all); static void -mpegts_parse_dispose (GObject * object) +mpegts_parse_finalize (GObject * object) { MpegTSParse2 *parse = (MpegTSParse2 *) object; gst_flow_combiner_free (parse->flowcombiner); - GST_CALL_PARENT (G_OBJECT_CLASS, dispose, (object)); -} - -static void -mpegts_parse_finalize (GObject * object) -{ - MpegTSParse2 *parse = (MpegTSParse2 *) object; - gst_adapter_clear (parse->ts_adapter.adapter); g_object_unref (parse->ts_adapter.adapter); @@ -160,7 +152,6 @@ mpegts_parse_class_init (MpegTSParse2Class * klass) gobject_class->set_property = mpegts_parse_set_property; gobject_class->get_property = mpegts_parse_get_property; - gobject_class->dispose = mpegts_parse_dispose; gobject_class->finalize = mpegts_parse_finalize; g_object_class_install_property (gobject_class, PROP_SET_TIMESTAMPS, -- 2.7.4