From 86e418ffd7bbdc0530e1e4d5bd7534b6e03b5b05 Mon Sep 17 00:00:00 2001 From: James Almer Date: Wed, 1 May 2024 12:01:48 -0300 Subject: [PATCH] avcodec/avcodec: free decoded_side_data in ff_codec_close() It's set by the library when decoding, so it should be freed when closing the context. Signed-off-by: James Almer --- libavcodec/avcodec.c | 2 ++ libavcodec/options.c | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/avcodec.c b/libavcodec/avcodec.c index 888dd76228..214dca4566 100644 --- a/libavcodec/avcodec.c +++ b/libavcodec/avcodec.c @@ -462,6 +462,8 @@ av_cold void ff_codec_close(AVCodecContext *avctx) av_freep(&avctx->coded_side_data[i].data); av_freep(&avctx->coded_side_data); avctx->nb_coded_side_data = 0; + av_frame_side_data_free(&avctx->decoded_side_data, + &avctx->nb_decoded_side_data); av_buffer_unref(&avctx->hw_frames_ctx); av_buffer_unref(&avctx->hw_device_ctx); diff --git a/libavcodec/options.c b/libavcodec/options.c index 0c3b40a186..f60c41bdc3 100644 --- a/libavcodec/options.c +++ b/libavcodec/options.c @@ -177,8 +177,6 @@ void avcodec_free_context(AVCodecContext **pavctx) av_freep(&avctx->inter_matrix); av_freep(&avctx->rc_override); av_channel_layout_uninit(&avctx->ch_layout); - av_frame_side_data_free( - &avctx->decoded_side_data, &avctx->nb_decoded_side_data); av_freep(pavctx); }