diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-12-22 19:42:13 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-12-22 19:48:00 +0100 |
commit | 88956f73f29c9f066718b4c83bb628872990b879 (patch) | |
tree | 6dfc76b074a64fcbbc137cbc8013577bf879c3a8 | |
parent | de2a2caf4dedb28a959d0ff6f02751bb6c3ff033 (diff) | |
download | ffmpeg-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.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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", |