tsbase: unref bad packets too
authorWim Taymans <wim.taymans@collabora.co.uk>
Mon, 30 Apr 2012 10:36:46 +0000 (12:36 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Tue, 1 May 2012 09:50:39 +0000 (11:50 +0200)
Conflicts:

gst/mpegtsdemux/mpegtsbase.c

gst/mpegtsdemux/mpegtsbase.c

index 7fbd84f..38beef2 100644 (file)
@@ -1385,9 +1385,12 @@ mpegts_base_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
     if (G_UNLIKELY (pret == PACKET_NEED_MORE))
       break;
 
-    if (G_UNLIKELY (pret == PACKET_BAD))
+    if (G_UNLIKELY (pret == PACKET_BAD)) {
       /* bad header, skip the packet */
+      GST_DEBUG_OBJECT (base, "bad packet, skipping");
+      gst_buffer_unref (packet.buffer);
       goto next;
+    }
 
     /* base PSI data */
     if (packet.payload != NULL && mpegts_base_is_psi (base, &packet)) {