summaryrefslogtreecommitdiff
path: root/fftools/ffmpeg_filter.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2023-04-26 00:00:02 +0200
committerAnton Khirnov <anton@khirnov.net>2023-05-02 10:59:24 +0200
commit5b3aeab1bd04e0c63b1c7a342874b5feefafa467 (patch)
tree01182a38e9f29ff631b5d9bf725ce35320099cc1 /fftools/ffmpeg_filter.c
parent0aada80e732e1ecfd6df249777e3dafc423fcda4 (diff)
downloadffmpeg-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.c6
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;