Otherwise it may accumulate when e.g. global side data is repeatedly copied to the frame with in each subsequent reget_buffer() call. --- libavcodec/decode.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/libavcodec/decode.c b/libavcodec/decode.c index 1f2fbda6ad..57cca44d05 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -1685,6 +1685,8 @@ static int reget_buffer_internal(AVCodecContext *avctx, AVFrame *frame, int flag if (!frame->data[0]) return ff_get_buffer(avctx, frame, AV_GET_BUFFER_FLAG_REF); + av_frame_side_data_free(&frame->side_data, &frame->nb_side_data); + if ((flags & FF_REGET_BUFFER_FLAG_READONLY) || av_frame_is_writable(frame)) return ff_decode_frame_props(avctx, frame); -- 2.43.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".