From patchwork Tue Sep 15 07:39:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 22388 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 2FBD544B636 for ; Tue, 15 Sep 2020 10:40:41 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 18AFC68BABE; Tue, 15 Sep 2020 10:40:41 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5B5C168B85A for ; Tue, 15 Sep 2020 10:40:33 +0300 (EEST) Received: by mail-wr1-f66.google.com with SMTP id e16so2197406wrm.2 for ; Tue, 15 Sep 2020 00:40:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=z46/Yd/d0sNRHuT2bH3oT5WOPnSihZpZnGPfqhoLHMw=; b=J1lbPPLXlBgHQ5KyeECX19kLoYAOJxjXKYgpbVQD6U1wuAm09waAgEtTXBe8wFWiNm ByL5a6tQqgt9xCrsoTH9/Wj+JSQ5VExFUClnixXWcfDnRYEPJxo9/bu3EDq4X8a8+Qdq sAGXcGbx7wMjhuvs1x1pveXYLD9WZ+xRwIbCByOtkQIMdRNTaGVfoEwAGVn7xT/JxPeU OevFACqEnjn4Kwf6cw9NScrzX04YXSeAFt29SoCSV1i3x14jT/TOfs/fD03EvZFGabyq FBHvL7jXI4GYoghLSkwqgz7hRpS1PutuwoIfcDw9oy9C6uisHYTVTxQNxJuITRhVs7Ky BOLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=z46/Yd/d0sNRHuT2bH3oT5WOPnSihZpZnGPfqhoLHMw=; b=SjquCypSGGBw78NcwayP4j+ZQtRahkrjXN/q5XlJ2NNyjwX4EYttZEhWBmAowqJRRh dnCBBJj6hY0FCJrRX48DNWgyPTHF6bbuBzH4rM90E5rkyIYv7K9tWRVekzrmhIwogE8m f0eYJVHq1VAynIaSXKocuIAsYwmUKTkoyEcgdOrpC72+hl2DfzTStx0ewMxvPdaKMf3j ioVQU/QLBJb/EdOWsnjIvz1Oe6OLZSa3oZqfB6OaYqftvfoV4SIWlBIedADb4We5j3n1 l1st/dXHDED+HEhVm9rOAzbY8l0UUJlsXkUw/IdlqD7g51oDu3pf5KtIE6AofvK6c4Uf lX5A== X-Gm-Message-State: AOAM530aXRQXcH8HMvOvxVQEUX9pZZJ5H2pCWKsmkt8e98HRDsNDryn/ xRxAEWB0bpjOHjJlMdGzUkfo2WPC97s= X-Google-Smtp-Source: ABdhPJzrwUK6i6NNA0RCjLCjkad53wnm7wMen/InZCT59KdZ/Ea67jMuuqIdO0w71Hh9fkXpSKNwjw== X-Received: by 2002:adf:f7ca:: with SMTP id a10mr19630082wrq.321.1600155632501; Tue, 15 Sep 2020 00:40:32 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id d23sm6112125wmb.6.2020.09.15.00.40.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2020 00:40:32 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 15 Sep 2020 09:39:36 +0200 Message-Id: <20200915074000.102622-6-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200915074000.102622-1-andreas.rheinhardt@gmail.com> References: <20200915074000.102622-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 06/30] avcodec/g722enc: Cleanup generically on init failure X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Andreas Rheinhardt --- libavcodec/g722enc.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/libavcodec/g722enc.c b/libavcodec/g722enc.c index 25b61df19e..9357f170fe 100644 --- a/libavcodec/g722enc.c +++ b/libavcodec/g722enc.c @@ -59,7 +59,6 @@ static av_cold int g722_encode_close(AVCodecContext *avctx) static av_cold int g722_encode_init(AVCodecContext * avctx) { G722Context *c = avctx->priv_data; - int ret; c->band[0].scale_factor = 8; c->band[1].scale_factor = 2; @@ -73,10 +72,8 @@ static av_cold int g722_encode_init(AVCodecContext * avctx) c->paths[i] = av_mallocz_array(max_paths, sizeof(**c->paths)); c->node_buf[i] = av_mallocz_array(frontier, 2 * sizeof(**c->node_buf)); c->nodep_buf[i] = av_mallocz_array(frontier, 2 * sizeof(**c->nodep_buf)); - if (!c->paths[i] || !c->node_buf[i] || !c->nodep_buf[i]) { - ret = AVERROR(ENOMEM); - goto error; - } + if (!c->paths[i] || !c->node_buf[i] || !c->nodep_buf[i]) + return AVERROR(ENOMEM); } } @@ -118,9 +115,6 @@ static av_cold int g722_encode_init(AVCodecContext * avctx) ff_g722dsp_init(&c->dsp); return 0; -error: - g722_encode_close(avctx); - return ret; } static const int16_t low_quant[33] = { @@ -387,4 +381,5 @@ AVCodec ff_adpcm_g722_encoder = { .capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME, .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE }, .channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO, 0 }, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, };