[FFmpeg-cvslog] avfilter/buffersrc: stop passing AV_NOPTS_VALUE on EOF

Paul B Mahol git at videolan.org
Fri Jun 16 12:47:15 EEST 2023


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Thu Jun 15 17:15:44 2023 +0200| [12a073f72cf146d16c7987cf8782519b69be5f56] | committer: Paul B Mahol

avfilter/buffersrc: stop passing AV_NOPTS_VALUE on EOF

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

 libavfilter/buffersrc.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavfilter/buffersrc.c b/libavfilter/buffersrc.c
index 612541b803..ea50713701 100644
--- a/libavfilter/buffersrc.c
+++ b/libavfilter/buffersrc.c
@@ -61,6 +61,7 @@ typedef struct BufferSourceContext {
     AVChannelLayout ch_layout;
 
     int eof;
+    int64_t last_pts;
 } BufferSourceContext;
 
 #define CHECK_VIDEO_PARAM_CHANGE(s, c, width, height, format, pts)\
@@ -191,10 +192,12 @@ FF_ENABLE_DEPRECATION_WARNINGS
     s->nb_failed_requests = 0;
 
     if (!frame)
-        return av_buffersrc_close(ctx, AV_NOPTS_VALUE, flags);
+        return av_buffersrc_close(ctx, s->last_pts, flags);
     if (s->eof)
         return AVERROR(EINVAL);
 
+    s->last_pts = frame->pts + frame->duration;
+
     refcounted = !!frame->buf[0];
 
     if (!(flags & AV_BUFFERSRC_FLAG_NO_CHECK_FORMAT)) {



More information about the ffmpeg-cvslog mailing list