diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-11-09 14:54:43 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-11-09 14:59:43 +0100 |
commit | 7ec1fe1f472c2fb1cf0e0b2b89e107a08ac7efe5 (patch) | |
tree | 15f1be3a8590caed4bf7894556e7253b74485368 /libavformat/utils.c | |
parent | 4c6e7c2d4d9810d56ee0770e8c9ad68452e83c58 (diff) | |
download | ffmpeg-7ec1fe1f472c2fb1cf0e0b2b89e107a08ac7efe5.tar.gz |
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/utils.c')
-rw-r--r-- | libavformat/utils.c | 2 |
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) |