avidemux: ignore stream with invalid header time metadata
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Thu, 11 Mar 2010 14:02:48 +0000 (15:02 +0100)
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Thu, 11 Mar 2010 14:04:19 +0000 (15:04 +0100)
gst/avi/gstavidemux.c

index 1b76284..8303f5c 100644 (file)
@@ -1992,6 +1992,14 @@ gst_avi_demux_parse_stream (GstAviDemux * avi, GstBuffer * buf)
             sub = NULL;
             GST_DEBUG_OBJECT (element, "marking audio as VBR:%d, res %d",
                 stream->is_vbr, res);
+            /* we need these or we have no way to come up with timestamps */
+            if ((stream->is_vbr && !stream->strf.auds->av_bps) ||
+                (!stream->is_vbr && (!stream->strh->scale ||
+                        stream->strh->rate))) {
+              GST_WARNING_OBJECT (element,
+                  "invalid audio header, ignoring stream");
+              goto fail;
+            }
             break;
           case GST_RIFF_FCC_iavs:
             stream->is_vbr = TRUE;