diff options
Diffstat (limited to 'gst')
-rw-r--r-- | gst/qtdemux/qtdemux.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c index e18b82a80..055e8f863 100644 --- a/gst/qtdemux/qtdemux.c +++ b/gst/qtdemux/qtdemux.c @@ -5902,6 +5902,16 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak) || !qtdemux_parse_samples (qtdemux, stream, 0)) goto samples_failed; + /* look for non-zero min_duration as it is used to set the frame rate cap */ + if (G_UNLIKELY (stream->min_duration == 0)) { + guint32 sample_num = 1; + + while (sample_num <= stream->n_samples && stream->min_duration == 0) { + if (!qtdemux_parse_samples (qtdemux, stream, sample_num)) + goto samples_failed; + ++sample_num; + } + } /* configure segments */ if (!qtdemux_parse_segments (qtdemux, stream, trak)) goto segments_failed; |