summaryrefslogtreecommitdiff
path: root/ffmpeg.c
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 /ffmpeg.c
parentde2a2caf4dedb28a959d0ff6f02751bb6c3ff033 (diff)
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>
Diffstat (limited to 'ffmpeg.c')
-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",