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 9D4F740268 for ; Mon, 20 Dec 2021 01:04:30 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 42E7D68AB42; Mon, 20 Dec 2021 03:04:28 +0200 (EET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2088.outbound.protection.outlook.com [40.92.90.88]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B84CD680967 for ; Mon, 20 Dec 2021 03:04:21 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=og1+A0WMu1ukAEt5THFENj19XBeZrPt9dZNxURPFcs6v5kM7QEzH5SEDvIuzY309tW3DztWVdTz7Rss7OLi+ds/Cbhnt7boAsJrG/xsLKSgd5QrbWdmQap4CtSi2k6+eKQ+YUkz+09a14PCF0cI1FdMml1Y1KU90x9WNN3tfrda1HfTRGiu5gYfA0xRS99MqhS+qNdMylB2D9FX0fd8rQie8wAlp3a+lZvOJvMj6QIxVruubmcHJhHV4DRlRok6m0NfYx1K4pDkaq+Pfn8S7ALJOgxzVJQnTNSAvDRvNnM/TRHzKh0k/+9hahFthRYtopuPyTbNq550UOMeuUdQb7g== 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=Giu1a3NTdzbrSL6zK17w53vLt0aMPbGkJlFzX/otmH4=; b=EKiGLILEhuAgSX4Clbk7YAhgDd0AXOvAaQZzttvauPBEt2xIDjXNR0IN1gKNAEMJVE9Aj+cbFHSuceDI5eGqC4fj5mFVg6oS+eroc69uyKmIR7nsFmEkjBbd863z5J8ty6ZTUdqr5714EMUG99RxLWOZ80jJUfhRBrU4/pdgyMehm0E84aUumbW4lOY1rSiWrrcmeRjDUOMptAtd7iBR7J4y8ucBQzPzdJmH+YBBuhUThHjMHqfNg2A3DY9AncR4xnY91n/eSrdtK1JHdwhz28LOX4LWjbZ3N/halsDjD728kAI1LKM1hhlgQioJp+lRFnMMpekFYM0nVkLpCi/BmQ== 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=Giu1a3NTdzbrSL6zK17w53vLt0aMPbGkJlFzX/otmH4=; b=Wk1YvIC6hIVp7jVPLl2HFp4XkJAeXk3owxsvnnvjc6k7J8EVNgU4IlN1HylTIbbbjkz0xOoCdJEJOYKBGKs2HOeqQ2fTaSOVEEU3VHL0twmaYIxyPYnxpGe0GlwqQvfhA2kXgG8F8y6euccoPokHRQgvkWZLsnl9c0kAzux8iCFkYnqdsys/ZBw5uRsnHCz1gA3QLoiWsPxP9w7JS1wFLbyJul3xu0RQHihPpJoYWMWEm53lCCO6ZGKmo0fisIb+Vahg6Ky3Ya4XmAVpCWHC0qAYP1NjkhfGs6cmfOBbjkGUZWtJkf8lJQfnnuNvzq+sMqEJQoKsormDSaNLr7dwRw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AS8PR03MB6919.eurprd03.prod.outlook.com (2603:10a6:20b:29c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.15; Mon, 20 Dec 2021 01:04:20 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%6]) with mapi id 15.20.4801.020; Mon, 20 Dec 2021 01:04:20 +0000 Message-ID: Date: Mon, 20 Dec 2021 02:04:18 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20211219192134.1296-1-dcnieho@gmail.com> <20211219192134.1296-11-dcnieho@gmail.com> From: Andreas Rheinhardt In-Reply-To: <20211219192134.1296-11-dcnieho@gmail.com> X-TMN: [le6K5hxWTTJRbB3KYWuaj8w/pegCgUac] X-ClientProxiedBy: AM0PR10CA0051.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:150::31) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 42ccf121-996f-4a64-5f4d-08d9c354a726 X-MS-TrafficTypeDiagnostic: AS8PR03MB6919:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DOhvP9xLom71tagu9rAALD15qOfZ5FbNn4uspZ/JTOQ3vMrZ+4vt1LNfnVFAFd3gcRkIKGv3NcSohV8/q/ifPNRNEuZy1/IUzACp3QIMOr0dHXh557E7KrIQFYl1z0v/Oxx2UexJ+0QmCqhmwHDMmSdzDBHiS7rmpyihdTI6ss3ZL+q/qATOwxoBv53zZU6Uw6eWy6XYfH0HQpIkNW9O4dujExRqGixhCpKDUbfE4zxUouOUeYywIJkkZ7lpCz1GSuF8AIH0+Lo7+Fyxu08UltK2JUx7RDxLxa/OaeYEQVUuusN4mPdB1BewcGt6feGoplsiDlJb46+iMQFC61vPrz8rOhQ1F8EPXZwHrHCrF6PXgvZSVeH8K+3QNuTJ4+fww+Awjd2Tf2zfmIMvkjb1zrkgn37HRpn0E+YioySPKZ3UuBot/MvjRyqrtJEDrVjWjxme8XrBgH4s4GuWTchROKMR2GSndOvclfPwv7Pi1TUGQkXqaHmVoSMWWYdIL6xBiBtm4GeAkp276P6PvqAw2gQVDEYALND6sLm5z5rRGVnJQA+fxULPmIj4wo0dxtNBw99Tl2tqbeb2hA/SBSULAA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dDRFMTdDMkllT1BxWXZtM0EzMVorSnJSNWIyUmFEQ2NHeXczZ3JGazI4SmlU?= =?utf-8?B?dnA0Z21iVVVHRTQyVGN2b3hzSi80Q1VQcHFBVXNMaWg4c1N2Y1FOQU5GQm91?= =?utf-8?B?aUc4aFczMWMzV3ZSQVZ2cGt4RDkvMDRqN2FVRkp5M0F5N3hNV2Y1a0FnNlpY?= =?utf-8?B?YWhNR0p2VzlZWDV0Z1ZKaEVMRyt5dFJxRDJDb0tyMVU3WmpuRUU2MmlTR3FD?= =?utf-8?B?bFcrSmNFWUN3WjdHN3gxK0hvcURBVTNRR2VkNVE2dlNIbVQvczJwWHhvZmVK?= =?utf-8?B?b3hkTDlaVDhyR3Axd2FBZHZ3dStTbllIN2dHNzRRYkJHdU1hclJ3dlBwNjR0?= =?utf-8?B?cEE1b0xFaXJNOUNXRzVGK2Mvd2xkS240MC92aXEzUXhHVDh2RFNyZ2t5OXFM?= =?utf-8?B?NXUvaE1sQnI5T2VqMm9FYzZtWXh3NDJxbUdzQVVJZC90SmV5MEVoM2g4TVN4?= =?utf-8?B?SDQvZW5RejhYOURaS3lhRjNFRjZkNVJsb2QweDBvT2QwN3JjRlVIZ3FHVU9R?= =?utf-8?B?RW9OclQwNDM4T2Y0ZFJNcUxMTnJjRTVqazcraXNwZjZjdWY4d0crNTN1WUVX?= =?utf-8?B?ODlDWVJPaG5NbVhXMUJ4MU1MbjhNeExaM0FrYUR4a1FoYnRPUkxKQ0pvczZF?= =?utf-8?B?R3l3YisrZ01oaEhBa2RBVHhEZlBSazMweVZ3U0h2MldKb25rbHBPbkNEaWtr?= =?utf-8?B?MnFpUXFtdHhsQy9pM0d4OEtpbGVKb3pvZGFWM2VGT0lTR2Joc2hBcmczU1la?= =?utf-8?B?dmtDNlNJYVFxWkNIdm5XckdNSTd2Tkxkejd0RFV3YzAwVGJCMUJuYUxhempT?= =?utf-8?B?anRacVBISUV3UkR5UEU1aldwMm8zYkRzZklrdGF5ZUZ5NTJialNUUVI2WVlj?= =?utf-8?B?RndXaTdFSVBsWCtNTjhiUjFxam5QTXFSZ0Z6SHBTQm9wUVN0RHB1RzhCU1h6?= =?utf-8?B?ZUJpTmtYSWZ2dGtucG84WWZlTGFHZWhKS3N4aitLTlpHQWpDWHh0S3R5K0dh?= =?utf-8?B?eEhrQ1poVUJyekdxKy9hR1hYMnFTd2NNVjN4ZjRteFZOaWgwcGVzc2dsdGFi?= =?utf-8?B?UktEdFZSb01YN290YVp3R3BtMkNuK0FWS2prUlZuV29PWXdBWi82MUMzM0px?= =?utf-8?B?VTlBZmVocU1hVDhZb2NUWm9UL1BYTHgwR1VtSWk5bFhHTG5zWVhoVGdpZWtZ?= =?utf-8?B?SldPbUJkY0plYjJWbWpGRXh5SVBVOHdSZ2ZRa3RDcmgwRzAzaFlkR0dBY251?= =?utf-8?B?NXJ3MjVMTDZEYmh4V29OaG53S3p3RURlMVdrUXdldGhEUGJBZz09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 42ccf121-996f-4a64-5f4d-08d9c354a726 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2021 01:04:20.0333 (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: AS8PR03MB6919 Subject: Re: [FFmpeg-devel] [PATCH v5 10/13] avdevice/dshow: add media type info to get_device_list 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: Diederick Niehorster: > The list returned by get_device_list now contains info about what media > type(s), if any, can be provided by each device. > > Signed-off-by: Diederick Niehorster > --- > libavdevice/dshow.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/libavdevice/dshow.c b/libavdevice/dshow.c > index f25537db5c..fa3a06c077 100644 > --- a/libavdevice/dshow.c > +++ b/libavdevice/dshow.c > @@ -377,6 +377,11 @@ dshow_cycle_devices(AVFormatContext *avctx, ICreateDevEnum *devenum, > if (!device->device_name || !device->device_description) > goto fail1; > > + device->nb_media_types = nb_media_types; > + device->media_types = media_types; > + nb_media_types = 0; > + media_types = NULL; > + If this array is intended to be given to the caller, my "put in on the stack" suggestion from #8 is no longer feasible. > // store to device_list output > if (av_reallocp_array(&(*device_list)->devices, > (*device_list)->nb_devices + 1, > @@ -412,6 +417,8 @@ dshow_cycle_devices(AVFormatContext *avctx, ICreateDevEnum *devenum, > av_freep(&device->device_name); > if (device->device_name) > av_freep(&device->device_description); > + if (device->media_types) > + av_freep(&device->media_types); You are duplicating freeing code here: You have code to free media_types both before it was put into device and after; you can avoid the latter by only attaching media_types to device when nothing else can fail. Btw: All these checks before av_freep() here are unnecessary. > av_free(device); > } > if (olestr && co_malloc) > _______________________________________________ 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".