From ae95cd85dc73319a704f1092b7542978ef8869dd Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Wed, 26 Apr 2023 00:09:50 +0200 Subject: fftools/ffmpeg_filter: stop using InputStream.pts for filter EOF ts Use InputStream.last_frame_pts/duration instead, which is more accurate. --- fftools/ffmpeg.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'fftools') diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index e9b083b05a..3a0d1b4559 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -1382,7 +1382,9 @@ static int send_filter_eof(InputStream *ist) int i, ret; for (i = 0; i < ist->nb_filters; i++) { - ret = ifilter_send_eof(ist->filters[i], ist->pts, AV_TIME_BASE_Q); + int64_t end_pts = ist->last_frame_pts == AV_NOPTS_VALUE ? AV_NOPTS_VALUE : + ist->last_frame_pts + ist->last_frame_duration_est; + ret = ifilter_send_eof(ist->filters[i], end_pts, ist->last_frame_tb); if (ret < 0) return ret; } -- cgit v1.2.1