diff options
author | Wim Taymans <wim.taymans@collabora.co.uk> | 2012-04-30 12:36:46 +0200 |
---|---|---|
committer | Wim Taymans <wim.taymans@collabora.co.uk> | 2012-05-01 11:50:39 +0200 |
commit | 7394deef33892f56b54e0f853499787032da883f (patch) | |
tree | aa242c3e1348fb1b0d5766777f89408d3c167c23 /gst/mpegtsdemux/mpegtsbase.c | |
parent | b56ab4b3cfc0aaa5168171caed2558cda8024b09 (diff) | |
download | gstreamer-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.c | 5 |
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)) { |