diff options
Diffstat (limited to 'gst')
-rw-r--r-- | 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 1ee175240..55fd87a86 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); |