From df3a96c497c0db51c917e51e5e4a60986979db91 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 4 Jul 2012 03:48:36 +0200 Subject: [PATCH] ffmpeg: Add sanity check on frame duplication This prevents long loops and OOM in case of damaged timestamps in some cases Signed-off-by: Michael Niedermayer --- ffmpeg.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ffmpeg.c b/ffmpeg.c index 25112d3e2c..a19f2077ba 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -1770,6 +1770,11 @@ static void do_video_out(AVFormatContext *s, av_log(NULL, AV_LOG_VERBOSE, "*** drop!\n"); return; } else if (nb_frames > 1) { + if (nb_frames > dts_error_threshold * 30) { + av_log(NULL, AV_LOG_ERROR, "%d frame duplication too large, skiping\n", nb_frames - 1); + nb_frames_drop++; + return; + } nb_frames_dup += nb_frames - 1; av_log(NULL, AV_LOG_VERBOSE, "*** %d dup!\n", nb_frames - 1); }