Commit 2bcf52dd authored by Tim-Philipp Müller's avatar Tim-Philipp Müller
Browse files

qtdemux: error out instead of dividing by 0

Error out if timescale is 0.
parent f6a12114
......@@ -3585,7 +3585,7 @@ qtdemux_parse_samples (GstQTDemux * qtdemux, QtDemuxStream * stream,
}
}
/* fill up empty timestamps with the last timestamp, this can happen when
* the last samples do not decoder and so we don't have timestamps for them.
* the last samples do not decode and so we don't have timestamps for them.
* We however look at the last timestamp to estimate the track length so we
* need something in here. */
for (; index < n_samples; index++) {
......@@ -3971,6 +3971,9 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak)
GST_LOG_OBJECT (qtdemux, "track duration: %" G_GUINT64_FORMAT,
stream->duration);
if (G_UNLIKELY (stream->timescale == 0 || qtdemux->timescale == 0))
goto corrupt_file;
if (qtdemux->duration != G_MAXINT32 && stream->duration != G_MAXINT32) {
guint64 tdur1, tdur2;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment