summaryrefslogtreecommitdiff
path: root/gst/mpegtsdemux/mpegtsbase.c
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@collabora.co.uk>2012-04-30 12:36:46 +0200
committerWim Taymans <wim.taymans@collabora.co.uk>2012-05-01 11:50:39 +0200
commit7394deef33892f56b54e0f853499787032da883f (patch)
treeaa242c3e1348fb1b0d5766777f89408d3c167c23 /gst/mpegtsdemux/mpegtsbase.c
parentb56ab4b3cfc0aaa5168171caed2558cda8024b09 (diff)
downloadgstreamer-plugins-bad-7394deef33892f56b54e0f853499787032da883f.tar.gz
tsbase: unref bad packets too
Conflicts: gst/mpegtsdemux/mpegtsbase.c
Diffstat (limited to 'gst/mpegtsdemux/mpegtsbase.c')
-rw-r--r--gst/mpegtsdemux/mpegtsbase.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c
index 7fbd84fa5..38beef2e1 100644
--- a/gst/mpegtsdemux/mpegtsbase.c
+++ b/gst/mpegtsdemux/mpegtsbase.c
@@ -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)) {