summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2012-04-18 13:48:20 +0100
committerMans Rullgard <mans@mansr.com>2012-04-18 13:48:20 +0100
commit3c58300269768e2dcd5cd8b55d56ecab99cb32f1 (patch)
tree4abb8c85db83a139ad8b8fd1edd149313c447654
parentac97d47d9b9276a930081d529a3997af13a7c0be (diff)
matroska: do not set invalid default duration if frame rate is zero
If a video track specifies a zero frame rate (invalid but occurs), this results in a division by zero and subsequent undefined conversion to integer. Setting the default duration from the frame rate only if the latter is greater than zero avoids such problems. Signed-off-by: Mans Rullgard <mans@mansr.com>
-rw-r--r--libavformat/matroskadec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 03d7c32886..99e0dac0ca 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -1342,7 +1342,7 @@ static int matroska_read_header(AVFormatContext *s)
continue;
if (track->type == MATROSKA_TRACK_TYPE_VIDEO) {
- if (!track->default_duration)
+ if (!track->default_duration && track->video.frame_rate > 0)
track->default_duration = 1000000000/track->video.frame_rate;
if (!track->video.display_width)
track->video.display_width = track->video.pixel_width;