summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2015-04-28 10:13:35 +0200
committerTim-Philipp Müller <tim@centricular.com>2015-04-28 14:58:03 +0100
commit94446498de2c49aa636cd1dffbc03c0bf4793eae (patch)
treeb8fc5234ae1fa6045e24a38693a79cdc814bdef2 /gst
parent365375a1def4d54dcf3dbc261ef2cb3486a744f6 (diff)
downloadgstreamer-plugins-bad-94446498de2c49aa636cd1dffbc03c0bf4793eae.tar.gz
tsdemux: fix taglist leak
If the stream which is about to be removed still has a ref on a tag list we should drop it. Fix a leak which was occasionally happening with the validate.file.playback.change_state_intensive.tron_en_ge_aac_h264_ts scenario. https://bugzilla.gnome.org/show_bug.cgi?id=748576
Diffstat (limited to 'gst')
-rw-r--r--gst/mpegtsdemux/tsdemux.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gst/mpegtsdemux/tsdemux.c b/gst/mpegtsdemux/tsdemux.c
index bf8c88a28..e8c13f6c8 100644
--- a/gst/mpegtsdemux/tsdemux.c
+++ b/gst/mpegtsdemux/tsdemux.c
@@ -1492,6 +1492,11 @@ gst_ts_demux_stream_removed (MpegTSBase * base, MpegTSBaseStream * bstream)
gst_ts_demux_stream_flush (stream, GST_TS_DEMUX_CAST (base), TRUE);
+ if (stream->taglist != NULL) {
+ gst_tag_list_unref (stream->taglist);
+ stream->taglist = NULL;
+ }
+
tsdemux_h264_parsing_info_clear (&stream->h264infos);
}