aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/hw_base_encode.c
diff options
context:
space:
mode:
authorDavid Rosca <nowrep@gmail.com>2024-10-15 16:49:41 +0200
committerLynne <dev@lynne.ee>2024-10-16 12:48:18 +0200
commit48a1a12968345bf673db1e1cbb5c64bd3529c50c (patch)
treed31ce30b42ed043a68d76221d1b923f8f4575f85 /libavcodec/hw_base_encode.c
parent931d45d4d6aa34629e38066154bdea395fd83035 (diff)
downloadffmpeg-48a1a12968345bf673db1e1cbb5c64bd3529c50c.tar.gz
hw_base_encode: Free pictures on close
Fixes leaking recon surfaces with VAAPI.
Diffstat (limited to 'libavcodec/hw_base_encode.c')
-rw-r--r--libavcodec/hw_base_encode.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/hw_base_encode.c b/libavcodec/hw_base_encode.c
index 7b6ec97d3b..912c707a68 100644
--- a/libavcodec/hw_base_encode.c
+++ b/libavcodec/hw_base_encode.c
@@ -804,6 +804,11 @@ int ff_hw_base_encode_init(AVCodecContext *avctx, FFHWBaseEncodeContext *ctx)
int ff_hw_base_encode_close(FFHWBaseEncodeContext *ctx)
{
+ FFHWBaseEncodePicture *pic;
+
+ for (pic = ctx->pic_start; pic; pic = pic->next)
+ base_encode_pic_free(pic);
+
av_fifo_freep2(&ctx->encode_fifo);
av_frame_free(&ctx->frame);