aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-12-22 19:42:13 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-12-22 19:48:00 +0100
commit88956f73f29c9f066718b4c83bb628872990b879 (patch)
tree6dfc76b074a64fcbbc137cbc8013577bf879c3a8
parentde2a2caf4dedb28a959d0ff6f02751bb6c3ff033 (diff)
downloadffmpeg-88956f73f29c9f066718b4c83bb628872990b879.tar.gz
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 <michaelni@gmx.at>
-rw-r--r--ffmpeg.c2
1 files changed, 1 insertions, 1 deletions
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",