From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 03C0349809 for ; Mon, 19 Feb 2024 22:15:38 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A581568D425; Tue, 20 Feb 2024 00:15:35 +0200 (EET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2062.outbound.protection.outlook.com [40.92.89.62]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7D2B668D3E4 for ; Tue, 20 Feb 2024 00:15:29 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LtgVQ7NkmrLM4xWJ+cypJnehPwH92KKqhYFNl4BBs6Qbkrgga0fbux8gC6b7enslKWJHMDZlX6vEVYFIO2JszWfthNe/Vsq2B3Pj21MrF2Ah08/iUtzBjyBws9rjHzb0aXtfC8gTRXV4tH27XtXxqN07WjVJDH0pbkctalK747omJ6fOOpR3QCMbdy/d4OI7SwbalEphjG9oWww0SHW1GfUEBDSqjOrFwYLrmiiDpkKtOd6elJ2+7FSvH8DbAz0xM117DzqJu/2h9+J3D7TQrhI5UMwEDj8gF1smqtNYx42fytrwe47vrmetDiORWpMWirnx81tRVm8t23kdtDtdhQ== 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=7glo6IHsb32FhMkE2VyELMkHn8YdXQfoOAOE8hLLF4c=; b=PvS8dtwPkScsiyVQg1IOBkvkOFMNeVAoRGiiqceaaagfRSvbpPFxQBlkMFg6lLRRIGCJ6aLkmpZPOFr9JWruslyQ6a0xUwszNTtufwt3ZmP9O2kmYqUgVhHDBSRqiml1HipqwciL5G+xUf/kh4g2IoZwQsE3J2p9+3m7sDFqxvVNN7Sb9JnfQmXR71Mpv+F67exFOiI5Qcdl10Z+xwb8FPleUNIMPkEvVVUu5Ui6+uS0BYyp6kmxNqBJe6rWX+HV1NL83xayN4tMu7QZsauiqnGf8lDf5+Tv0a9HOYpP7+92HZmaDDcqm1NjIZ+7kyasJFykYBEpTIvEb/YrhG7AWw== 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=7glo6IHsb32FhMkE2VyELMkHn8YdXQfoOAOE8hLLF4c=; b=JLjhhUmxuBLRCGXFEb/gbjwJSElzunFWMr8H4hzWmxaoLh3V7yi28frRoEGsgQaaC5bVrRuYki/kf9CRBTEE6cX4U4LnoIIgVoWCq94cZqMiSsbwnFdZByvDwS719ZAUcAL/vOUGhWqBOLN5yU9W0TEtoG5shD0mGGQFD6QIlrXCYMHxF0A1I6etLL9+0mq9Wg2TRl8n0687Cxy7OkfjNEqrD4N5ckwhcdblEmviCECNtMmwwb99dJBEvxSQtMyQ9+XQXqFNK9AILzVSpTjtlDH36jPXuh4FDHw34Me1XE1ryPY1VZABDtPDTkbOxqWuBUwTNCleM1Rlu61ZNx2TYA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PR3P250MB0131.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:176::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.38; Mon, 19 Feb 2024 22:15:27 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7292.033; Mon, 19 Feb 2024 22:15:27 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 19 Feb 2024 23:17:15 +0100 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: <6819fbe8-7239-4890-bb9f-a40e35520613@gmail.com> References: <6819fbe8-7239-4890-bb9f-a40e35520613@gmail.com> X-TMN: [nMD3xGvtwvkDf3tuB8tohqSBbHEWC2qE7JUoDWywYWo=] X-ClientProxiedBy: ZRAP278CA0012.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:10::22) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240219221716.746221-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PR3P250MB0131:EE_ X-MS-Office365-Filtering-Correlation-Id: 5a1d17f1-d6bc-469e-ff49-08dc319846c2 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: I3V9HxGIqwK6G40yZLULRCD68EMLfzeGGY5hMOIMrHJhUxriTRkg++6VBfK05KHzK0NRXOD7Cuodk8oF1tN0s9S7HyqUOLWKz3ai6vel4YK9cWuxHDPEL+ucJWOXSS1Vh+mLAcFSMKL52F+nu44ZYyk8XpTd+9BSHa6hW5zbGqpl9GJe5haFdUgp1dMe4dcJzhfQU/F9kKCc944g3G0YNl2A1UKKkTIPcx3xgITY6MiHjHtUHtn+WVkyVmd/MAC13NguvqODOF0IhOXG+0Kg4k/2ukBSKpFTY0KS+Ug4RqmlV018CqjvivxV8NWsNA6NYnbWYv4ixL2WGB+svJiyt4KG2fQfU6R/oISYrK+1inzjPbb1t5UnoP1wS4AbLMZDHnMNktQnQmwo0O1SKEvNWZAOtbUuF4GZl0TAdGjDTrY3+fJrnR5C+uvlXOt7vkgjN8Fo2jn5rHUY1eNzitD4PO/0GvK6aozs49c4icBS7z8xVRJL+ir95xOvkRnVLvNLzFg068uxUGe2zK36QcT8tEfHJXFH3juPpuDqxVgKnrGxbT/0UT5r111RoUB5SE15UbUSL758nIlE2rtegYtjKZYs485vJZNr9ib4sTs/EfqYUIM3aYtgX9qorDnuMnR8 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?GHU+6j7jOHpKa2ZhNiHuG3m7Cx2kXcYncp/+fXce2dF6nwZ9KOryELDMQE6O?= =?us-ascii?Q?rA0wpBrxy4drNV+0A6rqDF+zo6d8s79TyWphg3W/fnYbS0jQIyrAAXyxhXoA?= =?us-ascii?Q?ymgccJ4UuptAtfRgVz/4TdARe49FQs9KWSrZxb0ayKoSHohyBifviEb0khuu?= =?us-ascii?Q?KyZ9qhWa581ZVqYdZ7xZyBxgk/TxYsxPKe4XAB3Kd8V5/zpmQCFO58DuRf8U?= =?us-ascii?Q?YsFM5FpiagQcIvP00gvBGFeuIebe8F64JMhW6tY3u6buVr62lUYKYjBaHfXU?= =?us-ascii?Q?8sCfxWbZS40vr07Ua02j5evt+6B5XXVHzKK+PJG+1ime78K1oMAB2A82ybAQ?= =?us-ascii?Q?uhHZ1cGhyOQ1XXLu5vUqjn/O9KCLysvXRMnSHF7bblzXFtLQME0XHPY1SgeC?= =?us-ascii?Q?NIVrMSJRzzApWh0TNR5tpXKyZxD1AEeRdKt3lGjns6QgQwuUEOGgrf7aL8N9?= =?us-ascii?Q?qs/NU90qoEVUXTmduXz4CfF2mykSCaGUSSBP1m7f71SVGFK6Z8BrW7b5H4jo?= =?us-ascii?Q?hfNYw5qEJmWXCKjlJJqJXeUgpVieRGH17lzQYc+qXJ3PAuPF3fCwWW/efTCl?= =?us-ascii?Q?VD3bAeULUEUmHNrH52aAxxyh/SGrYUgyyWucUad0T8GtSjGmIdGEJc0Vcqg8?= =?us-ascii?Q?EUVqPPdLffMfJarKzxfiyYe9VaPIWL7bnpdAmaAYtXFjqJ2eAVY6j875gan9?= =?us-ascii?Q?8w2ZzCfNhpbWIwgw0vgcJgY8zxRdlDk0lMd6x4AHoTE4aZVhOBtX54wD/4co?= =?us-ascii?Q?aGl6ti2SyRt8DvjFMs29P9MNmUclajYS2gDAS7Jk05Z4J64EFSHgW03gL5NK?= =?us-ascii?Q?c8m4ya/BeTE8wdPo9R4CWeEd5wjxK9NDWv5l01cjrv9O52+3wOru08kWaCKO?= =?us-ascii?Q?2dtH/A4V6E4IHnQipwDVxAZ9IxD/EkXxYjfZklpf7BQtaC3ZHusNjr43RtIl?= =?us-ascii?Q?TYg3IYNqU9Atk70oQbnnLgVpk5GpcJmP4IMO04Qah7qJRx0Lje5sAU36N7L3?= =?us-ascii?Q?LeyENgURK0TyLWrft4HZEpv3/75ngb6NPCQIsMkW5bTrsnrhQei3JJdWjH6P?= =?us-ascii?Q?d8W7jCNXmmvHHTL7zatm+lfBoOYRh652IffbwqMZjh+F2eBgHeYau2gx0VND?= =?us-ascii?Q?D7RIOi4Q0cHR/4ZOlF540C/+AM8hWE2q2OQXi+jRN7vhVHWd9T1Zq/qoCO6A?= =?us-ascii?Q?kiZPOfMcc1ZOpW6QcL5bWre96tezc27Afi3USXNCn54cfsrnmQ2kqMf9h9d8?= =?us-ascii?Q?kd7RPkaKwp7yMASS4KdKrI+uxhGafwyKSzyWepLi5A=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5a1d17f1-d6bc-469e-ff49-08dc319846c2 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Feb 2024 22:15:27.3482 (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: PR3P250MB0131 Subject: [FFmpeg-devel] [PATCH v2 5/6] avformat/iamf_writer: Return proper error codes 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Surprisingly the return value of add_param_definition() (a pointer) has only been used to check for success and not to actually access the pointee; nonsuccess was equated with ENOMEM, although there is a non-enomem error path in this function. Change this by returning an int. Signed-off-by: Andreas Rheinhardt --- Maybe one should avoid the param_definition variables entirely by using if (!ff_iamf_get_param_definition(...))? libavformat/iamf_writer.c | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/libavformat/iamf_writer.c b/libavformat/iamf_writer.c index e8a88b44c3..b12c7e77f9 100644 --- a/libavformat/iamf_writer.c +++ b/libavformat/iamf_writer.c @@ -125,8 +125,8 @@ fail: return ret; } -static IAMFParamDefinition *add_param_definition(IAMFContext *iamf, AVIAMFParamDefinition *param, - const IAMFAudioElement *audio_element, void *log_ctx) +static int add_param_definition(IAMFContext *iamf, AVIAMFParamDefinition *param, + const IAMFAudioElement *audio_element, void *log_ctx) { IAMFParamDefinition **tmp, *param_definition; IAMFCodecConfig *codec_config = NULL; @@ -134,7 +134,7 @@ static IAMFParamDefinition *add_param_definition(IAMFContext *iamf, AVIAMFParamD tmp = av_realloc_array(iamf->param_definitions, iamf->nb_param_definitions + 1, sizeof(*iamf->param_definitions)); if (!tmp) - return NULL; + return AVERROR(ENOMEM); iamf->param_definitions = tmp; @@ -145,7 +145,7 @@ static IAMFParamDefinition *add_param_definition(IAMFContext *iamf, AVIAMFParamD if (!codec_config) { av_log(log_ctx, AV_LOG_ERROR, "parameter_rate needed but not set for parameter_id %u\n", param->parameter_id); - return NULL; + return AVERROR(EINVAL); } param->parameter_rate = codec_config->sample_rate; } @@ -158,14 +158,14 @@ static IAMFParamDefinition *add_param_definition(IAMFContext *iamf, AVIAMFParamD param_definition = av_mallocz(sizeof(*param_definition)); if (!param_definition) - return NULL; + return AVERROR(ENOMEM); param_definition->mode = !!param->duration; param_definition->param = param; param_definition->audio_element = audio_element; iamf->param_definitions[iamf->nb_param_definitions++] = param_definition; - return param_definition; + return 0; } int ff_iamf_add_audio_element(IAMFContext *iamf, const AVStreamGroup *stg, void *log_ctx) @@ -280,9 +280,9 @@ int ff_iamf_add_audio_element(IAMFContext *iamf, const AVStreamGroup *stg, void } if (!param_definition) { - param_definition = add_param_definition(iamf, param, audio_element, log_ctx); - if (!param_definition) - return AVERROR(ENOMEM); + ret = add_param_definition(iamf, param, audio_element, log_ctx); + if (ret < 0) + return ret; } } if (iamf_audio_element->recon_gain_info) { @@ -295,9 +295,9 @@ int ff_iamf_add_audio_element(IAMFContext *iamf, const AVStreamGroup *stg, void } if (!param_definition) { - param_definition = add_param_definition(iamf, param, audio_element, log_ctx); - if (!param_definition) - return AVERROR(ENOMEM); + ret = add_param_definition(iamf, param, audio_element, log_ctx); + if (ret < 0) + return ret; } } @@ -314,6 +314,7 @@ int ff_iamf_add_audio_element(IAMFContext *iamf, const AVStreamGroup *stg, void int ff_iamf_add_mix_presentation(IAMFContext *iamf, const AVStreamGroup *stg, void *log_ctx) { IAMFMixPresentation **tmp, *mix_presentation; + int ret; if (stg->type != AV_STREAM_GROUP_PARAMS_IAMF_MIX_PRESENTATION) return AVERROR(EINVAL); @@ -345,9 +346,9 @@ int ff_iamf_add_mix_presentation(IAMFContext *iamf, const AVStreamGroup *stg, vo param_definition = ff_iamf_get_param_definition(iamf, param->parameter_id); if (!param_definition) { - param_definition = add_param_definition(iamf, param, NULL, log_ctx); - if (!param_definition) - return AVERROR(ENOMEM); + ret = add_param_definition(iamf, param, NULL, log_ctx); + if (ret < 0) + return ret; } for (int j = 0; j < submix->nb_elements; j++) { @@ -361,9 +362,9 @@ int ff_iamf_add_mix_presentation(IAMFContext *iamf, const AVStreamGroup *stg, vo } param_definition = ff_iamf_get_param_definition(iamf, param->parameter_id); if (!param_definition) { - param_definition = add_param_definition(iamf, param, NULL, log_ctx); - if (!param_definition) - return AVERROR(ENOMEM); + ret = add_param_definition(iamf, param, NULL, log_ctx); + if (ret < 0) + return ret; } } } -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".