From 4bcad634f8d8bd4a32dbc366de9e4577acea6564 Mon Sep 17 00:00:00 2001 From: Mark Nauwelaerts Date: Thu, 28 Oct 2010 16:49:41 +0200 Subject: [PATCH] qtdemux: fragmented support; forego check for short streams ... as some bogus files may indicate streams of 0 duration in moov, while indicating the complete movie duration in mvhd (the latter should be in mehd). --- gst/qtdemux/qtdemux.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c index d2ac14f7da..7ef05589b9 100644 --- a/gst/qtdemux/qtdemux.c +++ b/gst/qtdemux/qtdemux.c @@ -5680,7 +5680,9 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak) if (G_UNLIKELY (stream->timescale == 0 || qtdemux->timescale == 0)) goto corrupt_file; - if (qtdemux->duration != G_MAXINT64 && stream->duration != G_MAXINT32) { + /* fragmented files may have bogus duration in moov */ + if (!qtdemux->fragmented && + qtdemux->duration != G_MAXINT64 && stream->duration != G_MAXINT32) { guint64 tdur1, tdur2; /* don't overflow */