diff options
author | Andrey Utkin <andrey.krieger.utkin@gmail.com> | 2014-01-18 01:19:36 +0200 |
---|---|---|
committer | Thiago Santos <ts.santos@sisa.samsung.com> | 2014-01-17 23:08:49 -0300 |
commit | 0caa4cdfd876b13748a91f119543261062af43ea (patch) | |
tree | b097890083142b5715c60516303e89d29049ddb5 /gst/mpegtsdemux/mpegtspacketizer.c | |
parent | dfd23a3182e68c268c5ab3f040a772c9e1ffadb8 (diff) | |
download | gstreamer-plugins-bad-0caa4cdfd876b13748a91f119543261062af43ea.tar.gz |
tsdemux: Fix leak of PCROffsetGroup
https://bugzilla.gnome.org/show_bug.cgi?id=722462
Diffstat (limited to 'gst/mpegtsdemux/mpegtspacketizer.c')
-rw-r--r-- | gst/mpegtsdemux/mpegtspacketizer.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gst/mpegtsdemux/mpegtspacketizer.c b/gst/mpegtsdemux/mpegtspacketizer.c index 5bb0d7de5..4f750ffbb 100644 --- a/gst/mpegtsdemux/mpegtspacketizer.c +++ b/gst/mpegtsdemux/mpegtspacketizer.c @@ -95,11 +95,20 @@ get_pcr_table (MpegTSPacketizer2 * packetizer, guint16 pid) } static void +pcr_offset_group_free (PCROffsetGroup * group) +{ + g_free (group->values); + g_slice_free (PCROffsetGroup, group); +} + +static void flush_observations (MpegTSPacketizer2 * packetizer) { gint i; for (i = 0; i < packetizer->lastobsid; i++) { + g_list_free_full (packetizer->observations[i]->groups, + (GDestroyNotify) pcr_offset_group_free); if (packetizer->observations[i]->current) g_slice_free (PCROffsetCurrent, packetizer->observations[i]->current); g_free (packetizer->observations[i]); |