[FFmpeg-cvslog] fftools/ffmpeg: stop using InputStream.pts in ts_discontinuity_detect()

Anton Khirnov git at videolan.org
Mon Apr 24 18:02:57 EEST 2023


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Sat Apr 15 10:18:24 2023 +0200| [d8bc37f1f446d5798d77830e197f02188919a313] | committer: Anton Khirnov

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).

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d8bc37f1f446d5798d77830e197f02188919a313
---

 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 "



More information about the ffmpeg-cvslog mailing list