From patchwork Tue Feb 8 15:38:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 34182 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp910871iov; Tue, 8 Feb 2022 07:38:46 -0800 (PST) X-Google-Smtp-Source: ABdhPJygcb3mDF1Usu3pZuB2p0ZE0qltt9sqrS+rgDjKXFpIuqQLEIltcs39DMcj02Bzy2/a5kuv X-Received: by 2002:a17:907:d04:: with SMTP id gn4mr4165982ejc.86.1644334725941; Tue, 08 Feb 2022 07:38:45 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id cs14si2581511ejc.455.2022.02.08.07.38.44; Tue, 08 Feb 2022 07:38:45 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=APmX70+E; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 305B068B0F3; Tue, 8 Feb 2022 17:38:41 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-oln040092070028.outbound.protection.outlook.com [40.92.70.28]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BEC7D68AFC9 for ; Tue, 8 Feb 2022 17:38:32 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S7NoP/dGXKs1dpyUWpi2hYxxrpGtqK2JYvwoG8pNcV6gT9rYkoTpSnvoJpDsLcQVsPX2viNNGVElUBrJFQn243RCpIoxNBq3A+msasFJcAD1i3XVPyKAHsNyeCyN3agJ8j7zyb6TWnYvO7JA2fl810uq3GNeYCoT4a+Qx4Wj1VI18pKEPVrUbkH8Wyz7LxqyjhemBjEtyAhh169WA8NhBl3nMUa4/tHUv5QU0wsXDGi4HFtBbsTFoZRj+OxWabFUNsfiYPQeat6pkxi1p6xsEkH8tOW9uw3HLrVXSkwDn5bX2gqNr/f4qF7NBLsizKWrQeMDoq2L3QNLwqmUEJR9kA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=EbI9YPt6Wz5dsbiDqd/WHPit0O3bPaRs/bOV9ZT3Anc=; b=Fdpc6cBCSJvaIIyX5fVV8E9Exl8mtrkpkOYtoEeoX8oVe9pNYRvlzntExAhjyG94NPgEzFb8b0uog6Dh6e40gmzDIDrB2KBKFodYPJCQKKMLRu6YJvIPU2BFbhaWPOfVXlt4cu2XBs7v+tURHMjymw4Gytyyq0eKh51hQeaWnrEwOvH0iMYkVpYPe1pVgrd8JHeDwPpJrpv96jr07XKsonWVYR9O87eUFTGNZCjvUct7EJmu2hW6bLZ/BR0eFoDS2aqdGBRffMTQdugSGOwaQkam+somqQujIdEl6By5xm9UOcOcXW1geaHm4rMdOqkMAUIKY7tJssR1CIZsI4l3NA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EbI9YPt6Wz5dsbiDqd/WHPit0O3bPaRs/bOV9ZT3Anc=; b=APmX70+EgimMR1TEiJ57uMFbykR9SxATKxaedX8bg2TdrYtQ39tHSCPbREer2fNfZ6NCij9wMwLYhtzvjH9QGP31egIZEWdNiePudMxjapiqlAFYXyg76DfLyA3AYmpZ9MrITJpN14CqKo4KTWCsDkZkWa4KQxjMjYwUXtl2VMZnncTGm7AdG736Cf6vINJet1tyEUJlE5frhM1WDu3rsMOBRqKLHz2Uhh7J50hh2LV2s5yDNMqaVfwLZkkJ5NpELj9+5DrFH5MtisgfLZN9EWhgeFA8dcHSYmw6bYoRnLqtCBehp+/dOAlQ0EdsFOEebkNRYGepQPPHc788uL/kMg== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB6PR03MB3094.eurprd03.prod.outlook.com (2603:10a6:6:36::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.19; Tue, 8 Feb 2022 15:38:30 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%6]) with mapi id 15.20.4951.019; Tue, 8 Feb 2022 15:38:30 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 8 Feb 2022 16:38:21 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 X-TMN: [y+4B5HFwk1g9oCE9yKfM+2ZsMbPF1rRr] X-ClientProxiedBy: AS9PR06CA0188.eurprd06.prod.outlook.com (2603:10a6:20b:45d::15) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220208153821.1172425-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f1535f76-8726-488e-d1d8-08d9eb190ec9 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQlB9bKabCTlYh0pf6YrAz8fVShpPBQ6lkdLmlAoSYbDMASchZt43kLWgL7RGCoNvyFIWQ3S6cBn5Oqb3Zo1BeYp2Gsiv5MX/htooypc+T3bfJMdX8ZQHxfAm+v8zYfQiy1KPKw6HeIMY8vyDrkmKDVxNsUgNOkSqpTegl8/RFgpNho1Gbuw04qZ2LBysOXs15LBa6/B7scBj9MdC1UGEWl/NgCws3okUwcAJtOrkwIelecxyuP5qmKZ+ZZSU3GM9q/XNsa8pgysFMlLsQO4ZnnjB7ZXleg7Qu/pbTaY+Bjzn+ZYnvvAy4jjzUz62qWSeKFyWQhztE1rZTdg36QcDLgUwviYP6XZ6iRScBwCt5M8CpeeBzZYhm5SeKPXfMnBoMcjZ2UTjtxGNDeEr8MAgOe2IBLm8Rkm/nRbPOQBTtKX7Xd5lJALJmvWtji2YbNpXaatbhYRd+z/4YvZCRqrlYpnLn1o3qXJB11jxz20geZ/KgVPjFdpGnpY1N4Llq6chbV2GPsv8cVkY4aUQHYRgSUszaepPLvZU1JfYONoOSxgrByRu0ou7XfkGsL2HRQAMwyhqBsO20EspR14k7fscOgCKSl5xn1GDm9BOTb+0KZAtIFGLe0mUOxOHDNJ+mVntImfq83cOCXPKnG567EUtxANNC/c3JTTKBXJNVPTIuy8w65d/sHOEhAXxuJMTTcfNHeYrOdXMGrY1byasH/avb1mOkCr/uL6r/X+3shsPAu/ItKeBA8njcB4s4dBxDs04M= X-MS-TrafficTypeDiagnostic: DB6PR03MB3094:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2dOCP024uNVeflp/7UltRbMRb3hQomA0b65dR8orFyamQNj1jYQQjJ3AQfVrhlGnO6G7raD0DVrQ4vOs1JQ7pXtsMXQAPY1mppMF0YF2HPNxaEmXM5o5Eo+dkakfgryrBffWcSENX0PhekbvG6LyQJng6kF3ohENgBKaLvEkvx+hcdiyGxCi3YxoyMLlKwxvoZ/FvS7pmwY1cOQtLy76FrvK2WvfJQDej7kSgjpPKWpwdBjzwBTaGsY/kwfarn3NbpBTZXCLXromkidu9SBeGyMRszu60T9zsKy/YP3uqGD2ggdd3CIV2J/3N4kdUgZXakgDoCz2sRIlL2tLcF7QNehlxKTFOJAVe1OTjP43efSZf1XNiGSq/CZFIxgXZV5d50m/0ZSldfSJ66gI67FNfeLfK1MESkImFFcCb2Wm8ZRiqav5VmSTBIFjhPFpojHV3nYAOTbOh8sAfhN8EPgnP0ADRSx5e+ZD4rb+tJfoDtZEaEjVtsbF2Uql9l8QfRQqjK8EGilzexnXi+3rBwm3WPrO0MLfujC23SZoJ2twuggHl/MNLb0OHC0g+EhctTDHptdRsUq2MlkEU+e6XEicGQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: bfiPLQcfWg57BxiwouAv79/UG+VSglhiuQM4noBHhRVpJ+iE6z0CBr3pviqb5zEQzAidZkkxWr4seQ5MNeJux6ll1bnuf5mYZdIFrUTEtHGkoi9j9V/DngI1eeyImXhonGtactDFe4qj+OaVETHS7eZhBhmQliC9pYCGwgWcEsgNie66GDHf99V0jbq/Xdj3xxGad+FkQDZV/oVyz+1rnmhmsBKfmFVHlv0Lr//B+MLTct6l5WpMOZ/y1hskeCmmNFqHdXMPAUEGf4UyvWe+nf87Z3cUweHV+JoV9bkHyawduOvn12nY9NVIN5zHxLdCYqo2EU2zAPM9RTSPZdjepUMtABeaiEoe/qZ7Fv1/NRuVC1pvJdn47QB33XlVpFhocUSHMjaWovy5yBdkgXoZBiRj7zGl7dB3zJaeMzvq4uxunZENOCKEQ6qAm4/ffxqAEqSl5Qq8di25j5aKdZ3JDFAFakKF5hnpMvkcMV8AcVrJdpa3grBw91qNzzeNZPVb71gJ5pJW9HttTa1WLaIphOxC+Z9+rw26Nzj0d9yp7uImafXiNXzPVnuOlq3ZOEanrdZtesNtvtfoMS50LGEOhzOAEadSqiKJ8lX0URI9c5SHOpWYo0msy20LRPq4XnLdTFUxHqJ3Y7YV1fVs5JNiaXXCTyrjjmOR9cAtJ7VPlpJvTtFTSy6yuYxxWigr8G27bjJcUeG6dbPsanKr0abGfjWydUVtIjnjVNluW/TpiVaO1SnD2sY/rCM4vkHuuEIg2ifxxZrwm2n20RS2+5ulJR4C7xv84EJZ0DO5Trby6BwfRQq/0l9znjUaQp4s+iBDgfD1aOhjl4DWf/5aKI0YsBTbCYs4lg4HSVcvsBq3edp2SY8zREdX2J3/l1zfxrQ2AIZ1qXE1rBDOyH1Ode9dfrg+Pg5jclwOBED2ijMkvoC0DJJIayTuhWGAUoE59M/No0tgl2xiLkI8Fg+JWmUR5A== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f1535f76-8726-488e-d1d8-08d9eb190ec9 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Feb 2022 15:38:30.7577 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR03MB3094 Subject: [FFmpeg-devel] [PATCH] avcodec/metasound, twinvqdec: Cleanup generically upon init failure X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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" X-TUID: Tqv0p4YXR/bG Signed-off-by: Andreas Rheinhardt --- libavcodec/metasound.c | 2 +- libavcodec/twinvq.c | 5 +---- libavcodec/twinvq.h | 1 + libavcodec/twinvqdec.c | 2 +- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/libavcodec/metasound.c b/libavcodec/metasound.c index 57851a43c5..f066182f02 100644 --- a/libavcodec/metasound.c +++ b/libavcodec/metasound.c @@ -382,5 +382,5 @@ const AVCodec ff_metasound_decoder = { .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE }, - .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/twinvq.c b/libavcodec/twinvq.c index 6dfaf06b14..38482e8c21 100644 --- a/libavcodec/twinvq.c +++ b/libavcodec/twinvq.c @@ -783,13 +783,10 @@ av_cold int ff_twinvq_decode_init(AVCodecContext *avctx) tctx->frames_per_packet = frames_per_packet; tctx->fdsp = avpriv_float_dsp_alloc(avctx->flags & AV_CODEC_FLAG_BITEXACT); - if (!tctx->fdsp) { - ff_twinvq_decode_close(avctx); + if (!tctx->fdsp) return AVERROR(ENOMEM); - } if ((ret = init_mdct_win(tctx))) { av_log(avctx, AV_LOG_ERROR, "Error initializing MDCT\n"); - ff_twinvq_decode_close(avctx); return ret; } init_bitstream_params(tctx); diff --git a/libavcodec/twinvq.h b/libavcodec/twinvq.h index 234604f581..5f49796f03 100644 --- a/libavcodec/twinvq.h +++ b/libavcodec/twinvq.h @@ -197,6 +197,7 @@ static inline float twinvq_mulawinv(float y, float clip, float mu) int ff_twinvq_decode_frame(AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt); int ff_twinvq_decode_close(AVCodecContext *avctx); +/** Requires the caller to call ff_twinvq_decode_close() upon failure. */ int ff_twinvq_decode_init(AVCodecContext *avctx); #endif /* AVCODEC_TWINVQ_H */ diff --git a/libavcodec/twinvqdec.c b/libavcodec/twinvqdec.c index 1fbe0bc32e..090a9fb0eb 100644 --- a/libavcodec/twinvqdec.c +++ b/libavcodec/twinvqdec.c @@ -426,5 +426,5 @@ const AVCodec ff_twinvq_decoder = { .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE }, - .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, };