Message ID | 20220208054734.14166-1-haihao.xiang@intel.com |
---|---|
State | Accepted |
Commit | 2727ff069e856c8fd098ddb8c26f42ec3b54a252 |
Headers | show |
Series | [FFmpeg-devel] lavu/fifo: fix regression | expand |
Context | Check | Description |
---|---|---|
andriy/configure_aarch64_jetson | warning | Failed to run configure |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_ppc | success | Make finished |
andriy/make_fate_ppc | success | Make fate finished |
> -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Xiang, Haihao > Sent: Monday, February 7, 2022 9:48 PM > To: ffmpeg-devel@ffmpeg.org > Cc: Xiang, Haihao <haihao.xiang@intel.com> > Subject: [FFmpeg-devel] [PATCH] lavu/fifo: fix regression > > From: Haihao Xiang <haihao.xiang@intel.com> > > offset_w might be updated after growing the FIFO > > Fix ticket #9630 > > Tested-by: U. Artie Eoff <ullysses.a.eoff@intel.com> > Reviewed-by: mkver > Reviewed-by: U. Artie Eoff <ullysses.a.eoff@intel.com> > Signed-off-by: Haihao Xiang <haihao.xiang@intel.com> > --- > libavutil/fifo.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/libavutil/fifo.c b/libavutil/fifo.c > index 0af0154945..02e0ec3f0d 100644 > --- a/libavutil/fifo.c > +++ b/libavutil/fifo.c > @@ -147,13 +147,15 @@ static int fifo_write_common(AVFifo *f, const uint8_t *buf, size_t *nb_elems, > AVFifoCB read_cb, void *opaque) > { > size_t to_write = *nb_elems; > - size_t offset_w = f->offset_w; > + size_t offset_w; > int ret = 0; > > ret = fifo_check_space(f, to_write); > if (ret < 0) > return ret; > > + offset_w = f->offset_w; > + > while (to_write > 0) { > size_t len = FFMIN(f->nb_elems - offset_w, to_write); > uint8_t *wptr = f->buffer + offset_w * f->elem_size; > -- > 2.17.1 > LGTM > _______________________________________________ > 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".
On Tue, 2022-02-08 at 17:48 +0000, Eoff, Ullysses A wrote: > > -----Original Message----- > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Xiang, > > Haihao > > Sent: Monday, February 7, 2022 9:48 PM > > To: ffmpeg-devel@ffmpeg.org > > Cc: Xiang, Haihao <haihao.xiang@intel.com> > > Subject: [FFmpeg-devel] [PATCH] lavu/fifo: fix regression > > > > From: Haihao Xiang <haihao.xiang@intel.com> > > > > offset_w might be updated after growing the FIFO > > > > Fix ticket #9630 > > > > Tested-by: U. Artie Eoff <ullysses.a.eoff@intel.com> > > Reviewed-by: mkver > > Reviewed-by: U. Artie Eoff <ullysses.a.eoff@intel.com> > > Signed-off-by: Haihao Xiang <haihao.xiang@intel.com> > > --- > > libavutil/fifo.c | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/libavutil/fifo.c b/libavutil/fifo.c > > index 0af0154945..02e0ec3f0d 100644 > > --- a/libavutil/fifo.c > > +++ b/libavutil/fifo.c > > @@ -147,13 +147,15 @@ static int fifo_write_common(AVFifo *f, const uint8_t > > *buf, size_t *nb_elems, > > AVFifoCB read_cb, void *opaque) > > { > > size_t to_write = *nb_elems; > > - size_t offset_w = f->offset_w; > > + size_t offset_w; > > int ret = 0; > > > > ret = fifo_check_space(f, to_write); > > if (ret < 0) > > return ret; > > > > + offset_w = f->offset_w; > > + > > while (to_write > 0) { > > size_t len = FFMIN(f->nb_elems - offset_w, to_write); > > uint8_t *wptr = f->buffer + offset_w * f->elem_size; > > -- > > 2.17.1 > > > > LGTM > Applied, thx > > _______________________________________________ > > 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".
diff --git a/libavutil/fifo.c b/libavutil/fifo.c index 0af0154945..02e0ec3f0d 100644 --- a/libavutil/fifo.c +++ b/libavutil/fifo.c @@ -147,13 +147,15 @@ static int fifo_write_common(AVFifo *f, const uint8_t *buf, size_t *nb_elems, AVFifoCB read_cb, void *opaque) { size_t to_write = *nb_elems; - size_t offset_w = f->offset_w; + size_t offset_w; int ret = 0; ret = fifo_check_space(f, to_write); if (ret < 0) return ret; + offset_w = f->offset_w; + while (to_write > 0) { size_t len = FFMIN(f->nb_elems - offset_w, to_write); uint8_t *wptr = f->buffer + offset_w * f->elem_size;