From 68a06640b1db48494498958976b2a22b85115426 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Sat, 4 May 2024 19:11:11 +0200 Subject: [PATCH] avcodec/ratecontrol: Don't call ff_rate_control_uninit() ourselves It is currently done inconsistently: Only one error path (namely the one from init_pass2()) made ff_rate_control_init() call ff_rate_control_uninit(); in other error paths cleanup was left to the caller. Given that the only caller of this function already performs the necessary cleanup this commit changes this to always rely on the caller to perform cleanup on error. Also return the error code from init_pass2(). Signed-off-by: Andreas Rheinhardt --- libavcodec/ratecontrol.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/libavcodec/ratecontrol.c b/libavcodec/ratecontrol.c index 78022d80aa..3219e1f60f 100644 --- a/libavcodec/ratecontrol.c +++ b/libavcodec/ratecontrol.c @@ -622,10 +622,9 @@ av_cold int ff_rate_control_init(MpegEncContext *s) p = next; } - if (init_pass2(s) < 0) { - ff_rate_control_uninit(rcc); - return -1; - } + res = init_pass2(s); + if (res < 0) + return res; } if (!(s->avctx->flags & AV_CODEC_FLAG_PASS2)) {