From: <mn...@ke...> - 2010-12-03 15:01:38
|
Module: gst-plugins-good Branch: master Commit: 4bcad634f8d8bd4a32dbc366de9e4577acea6564 URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=4bcad634f8d8bd4a32dbc366de9e4577acea6564 Author: Mark Nauwelaerts <mar...@co...> Date: Thu Oct 28 16:49:41 2010 +0200 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 files changed, 3 insertions(+), 1 deletions(-) diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c index d2ac14f..7ef0558 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 */ |