summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-11-09 14:54:43 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-11-09 14:59:43 +0100
commit7ec1fe1f472c2fb1cf0e0b2b89e107a08ac7efe5 (patch)
tree15f1be3a8590caed4bf7894556e7253b74485368 /libavformat
parent4c6e7c2d4d9810d56ee0770e8c9ad68452e83c58 (diff)
lavf: Dont compare absolute to relative timestamps in duration gcd
This prevents a division by 0 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/utils.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 1c5614f874..0240b0c3b5 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2729,7 +2729,7 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
}
st->info->duration_count++;
// ignore the first 4 values, they might have some random jitter
- if (st->info->duration_count > 3)
+ if (st->info->duration_count > 3 && is_relative(pkt->dts) == is_relative(last))
st->info->duration_gcd = av_gcd(st->info->duration_gcd, duration);
}
if (pkt->dts != AV_NOPTS_VALUE)