From 5b3aeab1bd04e0c63b1c7a342874b5feefafa467 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Wed, 26 Apr 2023 00:00:02 +0200 Subject: fftools/ffmpeg_filter: use correct timebase for filter EOF timestamp It does not need to be equal to demuxer timebase. --- fftools/ffmpeg_filter.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'fftools/ffmpeg_filter.c') diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 43eb8c94a5..8c408eb7c4 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -1454,13 +1454,17 @@ int reap_filters(int flush) return 0; } -int ifilter_send_eof(InputFilter *ifilter, int64_t pts) +int ifilter_send_eof(InputFilter *ifilter, int64_t pts, AVRational tb) { + InputFilterPriv *ifp = ifp_from_ifilter(ifilter); int ret; ifilter->eof = 1; if (ifilter->filter) { + pts = av_rescale_q_rnd(pts, tb, ifp->time_base, + AV_ROUND_NEAR_INF | AV_ROUND_PASS_MINMAX); + ret = av_buffersrc_close(ifilter->filter, pts, AV_BUFFERSRC_FLAG_PUSH); if (ret < 0) return ret; -- cgit v1.2.1