diff options
author | Anton Khirnov <anton@khirnov.net> | 2023-04-26 00:00:02 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2023-05-02 10:59:24 +0200 |
commit | 5b3aeab1bd04e0c63b1c7a342874b5feefafa467 (patch) | |
tree | 01182a38e9f29ff631b5d9bf725ce35320099cc1 /fftools/ffmpeg_filter.c | |
parent | 0aada80e732e1ecfd6df249777e3dafc423fcda4 (diff) | |
download | ffmpeg-5b3aeab1bd04e0c63b1c7a342874b5feefafa467.tar.gz |
fftools/ffmpeg_filter: use correct timebase for filter EOF timestamp
It does not need to be equal to demuxer timebase.
Diffstat (limited to 'fftools/ffmpeg_filter.c')
-rw-r--r-- | fftools/ffmpeg_filter.c | 6 |
1 files changed, 5 insertions, 1 deletions
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; |