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 E296B425C3 for ; Sun, 20 Mar 2022 23:38:45 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id ACAB668B19C; Mon, 21 Mar 2022 01:38:43 +0200 (EET) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2101.outbound.protection.outlook.com [40.92.91.101]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1B47F68B187 for ; Mon, 21 Mar 2022 01:38:37 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PTSlQXmOZlwQQpTCL9I8gph9hEHkmBKqnSeBcm6xV9S605v+77bZ5vTZ6iOPtwLEjmM3VFnyw/tOsz4ei+7XNQufIxw/Y3/z6Vgi42pBk8qLBGdbTOUXs0G7bDlA1dxi0CMrgBTDSFgokOyBwJbLy6v1mN3HfeBsRJOZy1YhUaSrvGX8uVseCtf3KxaVZyO+uZ/pXRnK0HVsm7vEofzeq627c1GzHA9pd2xsifO9+Qa0eDBrZMxZU47rssmtirdOiJS9ydiLXCXvdsYCdDyc2px+RhUl/9Mm0teKgelectYtuoCJJW21BCQ59tsnC6HpGBwo+qOiKmHul7pnfsnisw== 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=OtatTIcWZsXKvYi+H8Cej0dCOrjEZl13Vu0lY19ZdCI=; b=IhJlcSUENvZ6WFyeDYCcXjrP9UATSovBwYy+/T6vHUSx1i+3LtDAvxEfC60/AV9JtLDwPrpUFSzyQpOf2kGLtQT4uy1Qhxgq8wnTZMNQlHu+jHu2hn25fCW82D6eEBRpzJfbZmoUtfuzqI/UsSbgXAxy2+fAGgsdiLWvPKdveOE3IGaEvnVAY6vG392NY52juWEGX+O1p2PHPvzhMyJwmeycO+H2XJkmikHx0805PHtCqSI6qLsZrgi0Qps6ELNxgBZ2WIzw498dE9zaGluo/4x0Z7HXN2WLJXAfQdgPg2Y3EmABaAtoigxtcQsC3HCDqy+BnXRmQpT0PAurnRCtFg== 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=OtatTIcWZsXKvYi+H8Cej0dCOrjEZl13Vu0lY19ZdCI=; b=PZzsL6NiZK6HK93BNfkm+7njOg8cP6VIuXEogK8yDk4ien1P0OAH/F1U0PtMVBNIe+qxtaNqq9iMyrYkd8FO/2+NVFlPkWLf6IJnLwKivzXkWdI7Dx0oYTrf1xRRtHxHoTvQBpcPNmU55Br6+mZS71i7vKNHMUsPrYO8jD8oOpcH32hwx/eWbWV6uv0tjhFZzGer/+OujPDUcyC7zvowgIh/xImcWCktZ49SRebW9b/WqbcDDzGIw5fNXq5pKIo/tQS6nPq4hYrMWya1t+7+zpTkF/il73EFSYwKF+O61i89QD3xYISc7xKy1Q+a1rzaNAubYqv2KpXnIKT1o14M+Q== Received: from AS1PR01MB9564.eurprd01.prod.exchangelabs.com (2603:10a6:20b:4d1::16) by DB8PR01MB5788.eurprd01.prod.exchangelabs.com (2603:10a6:10:102::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5081.17; Sun, 20 Mar 2022 23:38:35 +0000 Received: from AS1PR01MB9564.eurprd01.prod.exchangelabs.com ([fe80::9070:a5fd:e532:bdf8]) by AS1PR01MB9564.eurprd01.prod.exchangelabs.com ([fe80::9070:a5fd:e532:bdf8%3]) with mapi id 15.20.5081.022; Sun, 20 Mar 2022 23:38:35 +0000 Message-ID: Date: Mon, 21 Mar 2022 00:38:33 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220319030407.45503-1-jamrial@gmail.com> From: Andreas Rheinhardt In-Reply-To: <20220319030407.45503-1-jamrial@gmail.com> X-TMN: [eiffsOyxgk4/3lvOykKEnZenb0EH337F] X-ClientProxiedBy: FR0P281CA0009.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:15::14) To AS1PR01MB9564.eurprd01.prod.exchangelabs.com (2603:10a6:20b:4d1::16) X-Microsoft-Original-Message-ID: <4e2269c4-7768-ed7a-e412-367658a6ff1f@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7992101c-d5ef-46eb-2c41-08da0acac04f X-MS-TrafficTypeDiagnostic: DB8PR01MB5788:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: t0ge+APIT/Hi651CN1qTqIUkCGuCnI+LBAgBL3gZ2WEPHNHGJN2grhOndxa0/O4zHm4nS82A8lQmhaSaPKDoaG7CFQn2N6o31z4Dy7pB+yKJz2H2Br+Lk+Beh9kIbvRrRFwzuAhkbATCVmMDn2HXVpHyshzivXzPuCs6JjBBM/QxHb/fmDb/l6N9KihptIabVRvjwlfuFoxJCjgLSrTP5j8g1zVcTMIGP84MS3mR/q3xFgmVNyTuwtjEyhQfFH8oeulqoSd7ETLXNY6achqeGK9W5p8zM8SB8FIEFX6yXNRsGPdSkwK4pVkHyHK4EtB9J10JXAp9UwCas+7GyM+drSURC7ff7xNsiMHLVf4ukPRqmJLg9pdNCYTcsgRtKlPJafUq//1v+im29qZyZhBV7JaovgOmHW7QHE0YYkJ6BA6k5NsuTK1xnK6t/owBXRp9IXY3KAJjNQ6w2wd+xW4PYQYj9SqPEk6CJhz1MDaBTr3X4Z5pjpWcKlr3/JBUtokGHlMeYzSm93YkwLzCJqfEYq3lUfN0rXIddqEVApvv+IKyjT5hpJuf/QQ2syoB1bzIZoe4dMjk4WUVb3Jfl6EEVg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MTh0UFZDZlIvazhES1kxeXJFWmZ6YXNYaDc5d1BtbmE5S0VXcEpsTU5yd0l1?= =?utf-8?B?UWhwTlZiUnFxT0JEWTd5MXVOdnMralFoaGNmaVRxc1pmUy92aEp1WHpETnE5?= =?utf-8?B?VTI3dVdOZjlud3puR29SaWdTbUozOFo4Y2JxYk9HcURRMWdEcGpIWnkwK3pq?= =?utf-8?B?RS9vZkdLci8yWFZaazVHUG9tYVRCb2pkelNHa1d1cnk3T1dIODd5UDQzS1ZQ?= =?utf-8?B?aGhHU2hGOWtPRUVvK2xkUnp1OG0xRksvL1NMSENhM1cwblovbkRnZUw3YkJB?= =?utf-8?B?QVJuWlJwKzRvcDBVMU45VDA2dlE2d0dySWZVUzNmUUtaWlRvK1dkNHR3cERZ?= =?utf-8?B?eHZyMG5uQXVYV3hkcGZ3bm5vcmtkTjY5bVNRd2dwc0wwSk1BRWJkbm5EWGhK?= =?utf-8?B?RlBrb0FDWVMyUTk4bzFnWWtQQ3FyZW1HR2kwQkxpV0E2N24reXY0RXU3RWwv?= =?utf-8?B?WU9MZ2NKcjBtV3R1SG1RRWFUWjF0TXpzdDNHQjdDMGxldC9rVCsxWFpOZjdT?= =?utf-8?B?eTVkVk9vMmxpNFBiU2RqQlo5OE0xRExMUlJCL09OaW41cVpicmd6NEk3OWFq?= =?utf-8?B?MXJTVzRIK3lJbHA4OGdhZjdRV3BMREpGcXgxaVpJdlJGMU4zNmhuWFp0ZWhZ?= =?utf-8?B?aG1HZnF0WW4xekUwU3E2MXRYWjNlcllpMHN6WHp6cGNMeW8xTW9QRnVKODdK?= =?utf-8?B?KzBONWxHR1JaVEl4MSthdnp3S0dmd3ZmSDk4MXl5eWdZbmkzNEx1ZTlEZ2l1?= =?utf-8?B?Uk5nTHpHQ09ucmNRd3NQTEVod0R5N29DOGVrNjJEcXRHUFdLblkveEhBcVp5?= =?utf-8?B?MU5VNTJzUVFmUWFxejVMbG9HUTBFUCsrbk5WcTRqOXVUckhCaWZ2Wk9QWm1V?= =?utf-8?B?bXNsa3FEc0xiN3h1aVlpZDcwNzJzVnlNTTRoK0xraEZyN1VRb0ZuTjgxdlNM?= =?utf-8?B?VHI2T0hkNUZ6UFJjRmpoVjBuWnlibUxLcjRkNDgvcW1LaHV1WXZ4ZFNNSDBk?= =?utf-8?B?Wm41ODJ4R1N3V00zZ1lWdjY2OUNsRXlod29xejIxbWtSeU1zOXI1L2ppRzdN?= =?utf-8?B?TVZ2NmVTNkIvcTZxVkh0TXpHcy9zUm9tejZ4dGtzRE9ueWtRTUJLTkd1bHB5?= =?utf-8?B?UnUyeDZ4MjRCSjh3S2dCZm5ZNFZUV1k1OGRQRGd5bU5NNytTM1VmcnhpbjJi?= =?utf-8?B?L0dXaXA0MTRNL2twSUZOQ01qTjMwWUNYT0JhSFRremJlWHBkNW5lZEtSYlJV?= =?utf-8?B?RXRGem54czF3cUh4YVZ5MHZvUTNNbzBFL3laZ3B1bFJEWWxobUFFK2Z2Q2lh?= =?utf-8?B?UVZBQjl1WTB5aFZ5WnFCM3NiMjlTb0I3dWtXanRPVW5HZVJaSkNwUDlMT1lp?= =?utf-8?B?N3FubUJkYVhIWG8wRnBGS01LUTN0MXI0d1pRTi80YW5QMUNBeVpOVnJFdW1Q?= =?utf-8?B?THd3TVBzTENYdEltWHJsNWRUQWl0a1hPK0s5SHNpVDFZRm81RlhvaE91Mzc1?= =?utf-8?B?bUZTZWtZSGJlNXRqdFdvckpwbFQ1MkhXdzk5eGxWNEJHbklybnFrNFl1OEVC?= =?utf-8?Q?0ZMyyrtbWLNMujnSmDJ2neGI8=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7992101c-d5ef-46eb-2c41-08da0acac04f X-MS-Exchange-CrossTenant-AuthSource: AS1PR01MB9564.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2022 23:38:35.4598 (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: DB8PR01MB5788 Subject: Re: [FFmpeg-devel] [PATCH] avcodec/avcodec: don't uninitialize ch_layout in avcodec_close() 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 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: James Almer: > The function is not meant to clear codec parameters, and the lavf demux code > relies on this behavior. > Regression since 327efa66331ebdc0087c6b656059a8df2f404019. > > Signed-off-by: James Almer > --- > libavcodec/avcodec.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/libavcodec/avcodec.c b/libavcodec/avcodec.c > index 38bdaad4fa..253c9f56cc 100644 > --- a/libavcodec/avcodec.c > +++ b/libavcodec/avcodec.c > @@ -469,6 +469,7 @@ void avsubtitle_free(AVSubtitle *sub) > > av_cold int avcodec_close(AVCodecContext *avctx) > { > + AVChannelLayout ch_layout; > int i; > > if (!avctx) > @@ -524,7 +525,12 @@ av_cold int avcodec_close(AVCodecContext *avctx) > > if (avctx->priv_data && avctx->codec && avctx->codec->priv_class) > av_opt_free(avctx->priv_data); > + /* av_opt_free() will uninitialize avctx->ch_layout, but we want to keep it. > + It will be uninitialized in avcodec_free_context() */ > + ch_layout = avctx->ch_layout; > + memset(&avctx->ch_layout, 0, sizeof(avctx->ch_layout)); > av_opt_free(avctx); > + avctx->ch_layout = ch_layout; > av_freep(&avctx->priv_data); > if (av_codec_is_encoder(avctx->codec)) { > av_freep(&avctx->extradata); avcodec_close() has always* called av_opt_free() and therefore uninitialized allocated options (the documentation of avcodec_close() states that it "frees all the data associated with it"); the new channel layout API is (potentially) based on allocations, so ch_layout belongs to this group of elements. If the demux code wants to preserve ch_layout, then the demux code should do it itself; it should not life in avcodec_close() (where it would be a hack). - Andreas *: or at least for a very long time -- I didn't do archeology for this statement. _______________________________________________ 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".