summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/matroskadec.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 356a02339c..cb9e4d621f 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -2805,8 +2805,9 @@ static int matroska_parse_tracks(AVFormatContext *s)
st->internal->need_parsing = AVSTREAM_PARSE_HEADERS;
if (track->default_duration) {
+ int div = track->default_duration <= INT64_MAX ? 1 : 2;
av_reduce(&st->avg_frame_rate.num, &st->avg_frame_rate.den,
- 1000000000, track->default_duration, 30000);
+ 1000000000 / div, track->default_duration / div, 30000);
#if FF_API_R_FRAME_RATE
if ( st->avg_frame_rate.num < st->avg_frame_rate.den * 1000LL
&& st->avg_frame_rate.num > st->avg_frame_rate.den * 5LL)