From 88956f73f29c9f066718b4c83bb628872990b879 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 22 Dec 2013 19:42:13 +0100 Subject: [PATCH] ffmpeg: use timestamp from before and after the decoder to detect backward moving dts for discontinuity detection This should make discontinuity detection more robust and detect more cases. Timestamps after the decoder can be delayed due to threads, timestamps before can be missing no testcase available/known Signed-off-by: Michael Niedermayer --- ffmpeg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ffmpeg.c b/ffmpeg.c index 6a2ff98780..5ccbf10012 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -3170,7 +3170,7 @@ static int process_input(int file_index) if(delta < -1LL*dts_delta_threshold*AV_TIME_BASE || (delta > 1LL*dts_delta_threshold*AV_TIME_BASE && ist->st->codec->codec_type != AVMEDIA_TYPE_SUBTITLE) || - pkt_dts + AV_TIME_BASE/10 < ist->pts){ + pkt_dts + AV_TIME_BASE/10 < FFMAX(ist->pts, ist->dts)){ ifile->ts_offset -= delta; av_log(NULL, AV_LOG_DEBUG, "timestamp discontinuity %"PRId64", new offset= %"PRId64"\n",