summaryrefslogtreecommitdiffstats
path: root/gst/mpegdemux
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2009-07-21 13:17:06 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2009-07-21 13:18:10 +0200
commite3f08983aadac760320f50da1d82769645689470 (patch)
tree88720ed8ae987b8b8c18551f88b7814ec7879fb1 /gst/mpegdemux
parent6233d1c9500410773b5bb796535963f361c7dbfe (diff)
downloadgst-plugins-bad-e3f08983aadac760320f50da1d82769645689470.tar.gz
gst-plugins-bad-e3f08983aadac760320f50da1d82769645689470.tar.bz2
gst-plugins-bad-e3f08983aadac760320f50da1d82769645689470.zip
mpegtsparse: Free the PMT before setting a new one
Diffstat (limited to 'gst/mpegdemux')
-rw-r--r--gst/mpegdemux/mpegtsparse.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gst/mpegdemux/mpegtsparse.c b/gst/mpegdemux/mpegtsparse.c
index f947cc50..90a8ea3b 100644
--- a/gst/mpegdemux/mpegtsparse.c
+++ b/gst/mpegdemux/mpegtsparse.c
@@ -1006,6 +1006,9 @@ mpegts_parse_apply_pmt (MpegTSParse * parse,
if (program) {
/* deactivate old pmt */
mpegts_parse_deactivate_pmt (parse, program);
+ if (program->pmt_info)
+ gst_structure_free (program->pmt_info);
+ program->pmt_info = NULL;
} else {
/* no PAT?? */
g_hash_table_insert (parse->psi_pids,