tsdemux: Fix leak of PCROffsetGroup
authorAndrey Utkin <andrey.krieger.utkin@gmail.com>
Fri, 17 Jan 2014 23:19:36 +0000 (01:19 +0200)
committerThiago Santos <ts.santos@sisa.samsung.com>
Sat, 18 Jan 2014 02:08:49 +0000 (23:08 -0300)
https://bugzilla.gnome.org/show_bug.cgi?id=722462

gst/mpegtsdemux/mpegtspacketizer.c

index 5bb0d7d..4f750ff 100644 (file)
@@ -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]);