Message ID | CAPYw7P5UTmRMJdjx3WXcvtu_6hy7Os4opi4NXB34TvBfmHPGOQ@mail.gmail.com |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel] avfilter/buffersrc: stop passing AV_NOPTS_VALUE on EOF | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
On Thu, 15 Jun 2023 17:17:41 +0200 Paul B Mahol <onemda@gmail.com> wrote: > Attached. > From 88fbb2fbfd2bb7cb3474d54cb197ee42b1404532 Mon Sep 17 00:00:00 2001 > From: Paul B Mahol <onemda@gmail.com> > Date: Thu, 15 Jun 2023 17:15:44 +0200 > Subject: [PATCH] avfilter/buffersrc: stop passing AV_NOPTS_VALUE on EOF > > Signed-off-by: Paul B Mahol <onemda@gmail.com> > --- > 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)) { > -- > 2.39.1 > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". Confirming that this fixes a bug I was encountering.
Will apply shortly.
From 88fbb2fbfd2bb7cb3474d54cb197ee42b1404532 Mon Sep 17 00:00:00 2001 From: Paul B Mahol <onemda@gmail.com> Date: Thu, 15 Jun 2023 17:15:44 +0200 Subject: [PATCH] avfilter/buffersrc: stop passing AV_NOPTS_VALUE on EOF Signed-off-by: Paul B Mahol <onemda@gmail.com> --- 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)) { -- 2.39.1