summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Utkin <andrey.krieger.utkin@gmail.com>2014-01-18 01:19:36 +0200
committerThiago Santos <ts.santos@sisa.samsung.com>2014-01-17 23:08:49 -0300
commit0caa4cdfd876b13748a91f119543261062af43ea (patch)
treeb097890083142b5715c60516303e89d29049ddb5
parentdfd23a3182e68c268c5ab3f040a772c9e1ffadb8 (diff)
tsdemux: Fix leak of PCROffsetGroup
https://bugzilla.gnome.org/show_bug.cgi?id=722462
-rw-r--r--gst/mpegtsdemux/mpegtspacketizer.c9
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]);