From d8bc37f1f446d5798d77830e197f02188919a313 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sat, 15 Apr 2023 10:18:24 +0200 Subject: [PATCH] fftools/ffmpeg: stop using InputStream.pts in ts_discontinuity_detect() ts_discontinuity_detect() is applied right after demuxing, while InputStream.pts is a post-decoding timestamp, which may be delayed with respect to demuxing by an arbitrary amount (e.g. depending on the thread count when frame threading is used). --- fftools/ffmpeg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index c73064af9a..a498a68b20 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -2091,7 +2091,7 @@ static void ts_discontinuity_detect(InputFile *ifile, InputStream *ist, int64_t delta = pkt_dts - ist->next_dts; if (fmt_is_discont) { if (FFABS(delta) > 1LL * dts_delta_threshold * AV_TIME_BASE || - pkt_dts + AV_TIME_BASE/10 < FFMAX(ist->pts, ist->dts)) { + pkt_dts + AV_TIME_BASE/10 < ist->dts) { ifile->ts_offset_discont -= delta; av_log(NULL, AV_LOG_WARNING, "timestamp discontinuity for stream #%d:%d "