Signed-off-by: James Almer <[email protected]>
---
No testcase for this, just the theoretical scenario where a library user could
flush the decoder after ENOMEM was signaled here, then pass new data where a
frame with the same size as the last successfully allocated one is the first in
line.
libavcodec/libdav1d.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c
index 8c8584f4e8..d9079cbbef 100644
--- a/libavcodec/libdav1d.c
+++ b/libavcodec/libdav1d.c
@@ -72,8 +72,10 @@ static int libdav1d_picture_allocator(Dav1dPicture *p, void
*cookie)
av_buffer_pool_uninit(&dav1d->pool);
// Use twice the amount of required padding bytes for aligned_ptr
below.
dav1d->pool = av_buffer_pool_init(ret + DAV1D_PICTURE_ALIGNMENT * 2,
NULL);
- if (!dav1d->pool)
+ if (!dav1d->pool) {
+ dav1d->pool_size = 0;
return AVERROR(ENOMEM);
+ }
dav1d->pool_size = ret;
}
buf = av_buffer_pool_get(dav1d->pool);
--
2.21.0
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel