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>
pull/51/head
Michael Niedermayer 11 years ago
parent de2a2caf4d
commit 88956f73f2
  1. 2
      ffmpeg.c

@ -3170,7 +3170,7 @@ static int process_input(int file_index)
if(delta < -1LL*dts_delta_threshold*AV_TIME_BASE || if(delta < -1LL*dts_delta_threshold*AV_TIME_BASE ||
(delta > 1LL*dts_delta_threshold*AV_TIME_BASE && (delta > 1LL*dts_delta_threshold*AV_TIME_BASE &&
ist->st->codec->codec_type != AVMEDIA_TYPE_SUBTITLE) || 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; ifile->ts_offset -= delta;
av_log(NULL, AV_LOG_DEBUG, av_log(NULL, AV_LOG_DEBUG,
"timestamp discontinuity %"PRId64", new offset= %"PRId64"\n", "timestamp discontinuity %"PRId64", new offset= %"PRId64"\n",

Loading…
Cancel
Save