summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
Diffstat (limited to 'gst')
-rw-r--r--gst/flv/gstflvparse.c10
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);