From: <bi...@ke...> - 2010-02-13 17:19:34
|
Module: gst-plugins-good Branch: master Commit: fa0e3184dd2d4a0681ad5b86528ec209336cf239 URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=fa0e3184dd2d4a0681ad5b86528ec209336cf239 Author: Edward Hervey <bi...@bi...> Date: Sat Feb 13 18:18:42 2010 +0100 flvdemux: Audio tags without any content are valid. We silently ignore them instead of erroring out. --- gst/flv/gstflvparse.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gst/flv/gstflvparse.c b/gst/flv/gstflvparse.c index 1ee1752..55fd87a 100644 --- a/gst/flv/gstflvparse.c +++ b/gst/flv/gstflvparse.c @@ -579,11 +579,17 @@ gst_flv_parse_tag_audio (GstFLVDemux * demux, GstBuffer * buffer) /* Combine them */ pts |= pts_ext << 24; - if (GST_BUFFER_SIZE (buffer) < 12) { - GST_ERROR_OBJECT (demux, "Too small tag size"); + /* Error out on tags with too small headers */ + if (GST_BUFFER_SIZE (buffer) < 11) { + GST_ERROR_OBJECT (demux, "Too small tag size (%d)", + GST_BUFFER_SIZE (buffer)); return GST_FLOW_ERROR; } + /* Silently skip buffers with no data */ + if (GST_BUFFER_SIZE (buffer) == 11) + return GST_FLOW_OK; + /* Skip the stream id and go directly to the flags */ flags = GST_READ_UINT8 (data + 7); |