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 2F98140272 for ; Mon, 20 Dec 2021 01:23:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A0DB768AEEA; Mon, 20 Dec 2021 03:23:07 +0200 (EET) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068071.outbound.protection.outlook.com [40.92.68.71]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0B50368A897 for ; Mon, 20 Dec 2021 03:23:00 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=b8c987elwjPCr+hsmcK/+MkduIiMrUcmkPQS8ixezkXDeR+2FjlW2Nv8LVUZOZ+zkwacO25b2I4OQr2bbjPpASjQiS3g+pMoICNlvMUxvcLu6Yyf/e4Cww1lhbNZYr4Lp5rgI1Zv2loApYZnuAqD3+ZwveTBP+AONz3idINj48TcRCRsAu/iWXt76FOCfKZiaNSa329qmFM6n78DvzgnsYPBGVxVV6yKysgg08q+fwIa66aLfLPWEPPyJmQe4QFIqm4Kc7Zfv2QfACE3yXD8aLhN88EySay7ajNy8WdDnWgctUzocya5O3Ws6fgd0tPegeZJoVputCD+FMlcNN9SGA== 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=65sd1652KOPuYtKLpGq9L3Nsb72JyxM1rgakoFNbsfU=; b=QG5xbTrFm85v6kP7QHJ4NGO+95z/O79q0kAE5w7kHNVGkAnmrlp/ktBzUZkEnZKrDigzsZtNhA4o1bV7dofUYQRP6Ro+DJadR/JfWzEWFvP2T8PCLUuVF8KuYVKFKdEh1Lloi9potnW914InAS2bLOcRZmLdyYv91hItCJruiQyOleyjQ4I9dECKVwUN4j3TkNN55HCLTY7LyuNJX0zf0YpRe/8XFuFkq4u3Q26gLDQHzwwurJkP1rduSLpGo5/DD8bREXdcUhGWi5gjuoGvCRh/GXp1kSo+NMYVftxGrtnMhKmd0SOOz8dkEabDGmtSTLv2ZZHUrIfnoOuykrJ4dQ== 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=65sd1652KOPuYtKLpGq9L3Nsb72JyxM1rgakoFNbsfU=; b=M1JuZP63MTAhQl7o7Tgwx3G6snWorKUr+d75HQ7fp4sxlig9i5RYmLp2s9Nzuyq1wrCp2+L0PEvtkdadHh6qMoUz3ezpnjMZWmFbrybQRyibwZppMt4/G7bZ7VUEcmIE8gqBjHo0gOAf0DI2J3UcvJn3HBzOBepzkkT4uFLHDMVvR0thOzJ8BsvU2gJ3bJlNvl7tuzTLiFfF6KuhNj5VvNCHFnGhxx3ROx62PFubIVPproH5rYMLRZBfEMoy1rxgzLNTkbCrXFPCtjrYxs1oLsAZuUAJjICwDHoKIr9Rt1HGoAs2xC/34gn3JhaWjehhYaYCto1651OrnYFmQOsp5Q== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AS8PR03MB6742.eurprd03.prod.outlook.com (2603:10a6:20b:295::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.17; Mon, 20 Dec 2021 01:22:58 +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:22:58 +0000 Message-ID: Date: Mon, 20 Dec 2021 02:22:56 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20211219192134.1296-1-dcnieho@gmail.com> <20211219192134.1296-12-dcnieho@gmail.com> From: Andreas Rheinhardt In-Reply-To: <20211219192134.1296-12-dcnieho@gmail.com> X-TMN: [z/ZEX8/xmc7dKVwiVHL6zVgz6vBHUzkA] X-ClientProxiedBy: AM0PR07CA0003.eurprd07.prod.outlook.com (2603:10a6:208:ac::16) 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: 76922da9-ebae-4e51-c64f-08d9c357417a X-MS-TrafficTypeDiagnostic: AS8PR03MB6742:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UjTUmmfnqp2myAMx6HFEgXnA0AoUCYLSAWEjvsaSFXPZ2YFxQvSbIO6AaGS3OASQkCRm876uEWJJf3AISQcdKUFAYutQ0b+5u29ibi/xeDBJfnCk5Dk2J7ApvHay96mj58WTivM8YrvAilUqvLHdvG9lF/8mr6Kr9tUZ6Eb3/8zUkHJV5Be2wNS5OOyzT7sD8fa9EiEiDzkEy4e0g1xQNbyyOEFVNPbYR9IG6EA5hvmcwrITT4kBqiYGp9yOGjtRmEtGSv7w9DkwmYz+Nagdfi6Uu+EaNF/BULUS4ycFxcqVPEx0zvWwFWurVIev/NCBBg0AdU69pyM/yqdrIZHdXOgGLbWmdV6PaW9EmP1UKD/0uIUW/3uFpR3EHc9J402WENwpH9x2XqXLr+DmTZnI7+af1bJDLUdwSpVg5AJXF8ooNr3m+8dYfacc5yvvCwPkkNJgQtHXPOZFXc/4PZ/FRPCzPeAM4Mr3WDkAugFcGZccScMn/s1IipyhcblDpjYfdjHAHaSv4pv75CymcQ5m/I1FOMHGFhHWOOYavgXvYJDnaw8TJmfdk8KmgUEkHAcd4g00eRswa2daF6tQFkfTVw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?N0ZSYlRDM2k2VUpqL09JaVJmcUk2SEZwWS9xeC9NWFVJMWJDWmFlQk9ZR1JW?= =?utf-8?B?ZnJEZVo5QVBjdUJQcjFYQTN5aDdCWHJPMjU4SzhZSmhkQm45UUNxWXZLcVJv?= =?utf-8?B?MVFEclN0aXluUHQ0VTZLdmxYVEFjM3JBdm1oNnArNTdzVVlwNEY3K1lDNUhn?= =?utf-8?B?OWNmZU1MdVJ4N1hLZ080aWd0VDdTQ2lXcGt1WmxrM0Y1RURHTHIvQmhJakpn?= =?utf-8?B?d0Y1Rlh5VzBkc0ljM04wbVpGY08ydTVWSXJmVjJ1QVdHNk9JRnRYdnpyVTJW?= =?utf-8?B?ZTFvS01ERlM3aldlQmk5R0d3Q3dGQm9qbDJIcVBTdzVmQWU2ei9ENWF0ZDd1?= =?utf-8?B?WlNTYmJmVDBxY3RhNTJtVGp2TStqcnZ5cXVxUWNLRERTVndDVVA2ZGF3SG5Y?= =?utf-8?B?U2RNcHluQlhhc0RVVHNqL3pIRTVoWW1Tc08vSERnZkoydXplbTNoT21jS01F?= =?utf-8?B?dHA1TC9PQkxqTEMyTEpYajl0RkRaamVEdHB2WjlRMUZUMjlRdnNNY2VEeHdz?= =?utf-8?B?cU9BWTlkZmV4Wnd0UHVBNzE1MUpNMXJaUVVYSURtR256ZEovNzJFeFVzTTVZ?= =?utf-8?B?aFFRei9Tem5veWdoZ0xYY2RNcnpmSHZlaVhaZTJYS3ArRWh4bmlOaVNJaFQ3?= =?utf-8?B?RU1SeVdJcTBXL25xbkFDRXNwV0RBb1ZTelRINm5BSUFoeGRUS3hRT3Z1cFZQ?= =?utf-8?B?aWVjVkhLbzFRQ1A2VGJZUCtDZEd3clNCZk94ZVpmcXBUM2VJUkRaME4rVnEw?= =?utf-8?B?d29IdW1IYWtaUzNhOUwwVm9aMjg5OW5KU1hJeWxKVjRBMmxMRS9Tc3dWNDMw?= =?utf-8?B?TVQ5RFpmdWtTd20wb3NiemRRVGpEdWRHRnNTcVN1Vy9pUEdUY1EwWEtCUE05?= =?utf-8?B?UnVnWWNEbHBlbVBrTjhoZVpUcHl4SXlJK2t2Q21DR1lzRG5CQWM2bFRCd01X?= =?utf-8?B?V0l5eUNYeTFncWIvVHRTNU5meHVlanY1UmlaenNUL1pUQ2dSbXFUMHZZdFpn?= =?utf-8?B?ZEdlYjRWWEVBL3E4alhkejBKbUUwemJvcDlGOE5VYW10cUlOaVl0SDV4ZHBL?= =?utf-8?B?OC9QYTRPb25rZks3dEswdk8rYTJyY0RLQ2dMY2hONEtFS1lRYTh0Zkl1SHNT?= =?utf-8?B?bkR5MUxuRHdDeHpzVkNqTTNGM05Fa2QvRUUxNVJSV1ZTYUJ6dko3MHN0K0RN?= =?utf-8?B?bVZwNEZYQ2dQOVYwa09oTVN5WllRdXM2RVpZVjY4Qm9MWDVzd2g0Uk1xVDlD?= =?utf-8?B?YmxycmJXNjFsVkMzV2gzN1kxSUJ3RTIvU0VOOHJRVzUyZGtadz09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 76922da9-ebae-4e51-c64f-08d9c357417a 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:22:57.9646 (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: AS8PR03MB6742 Subject: Re: [FFmpeg-devel] [PATCH v5 11/13] fftools: provide media type info for devices 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: > fftools now print info about what media type(s), if any, are provided by > sink and source avdevices. > > Signed-off-by: Diederick Niehorster > --- > fftools/cmdutils.c | 34 ++++++++++++++++++++++++---------- > 1 file changed, 24 insertions(+), 10 deletions(-) > > diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c > index 3c8e5a82cd..7d7dcce2f9 100644 > --- a/fftools/cmdutils.c > +++ b/fftools/cmdutils.c > @@ -2244,9 +2244,29 @@ double get_rotation(int32_t *displaymatrix) > } > > #if CONFIG_AVDEVICE > +static void print_device_list(const AVDeviceInfoList *device_list) > +{ > + // print devices > + for (int i = 0; i < device_list->nb_devices; i++) { > + const AVDeviceInfo *device = device_list->devices[i]; > + printf("%s %s [%s] (", device_list->default_device == i ? "*" : " ", The first string can be written as char (as it is now). > + device->device_name, device->device_description); > + if (device->nb_media_types > 0 && device->media_types) { You are checking for both the counter as well as the pointer. This is unnecessary if libavdevice does its job properly and it could mask situations in which it fails to do so. > + for (int j = 0; j < device->nb_media_types; ++j) { > + const char* media_type = av_get_media_type_string(device->media_types[j]); > + if (j > 0) > + printf(", "); > + printf("%s", media_type ? media_type : "unknown"); > + } > + } else { > + printf("none"); > + } > + printf(")\n"); > + } > +} > static int print_device_sources(const AVInputFormat *fmt, AVDictionary *opts) > { > - int ret, i; > + int ret; > AVDeviceInfoList *device_list = NULL; > > if (!fmt || !fmt->priv_class || !AV_IS_INPUT_DEVICE(fmt->priv_class->category)) > @@ -2258,10 +2278,7 @@ static int print_device_sources(const AVInputFormat *fmt, AVDictionary *opts) > goto fail; > } > > - for (i = 0; i < device_list->nb_devices; i++) { > - printf("%c %s [%s]\n", device_list->default_device == i ? '*' : ' ', > - device_list->devices[i]->device_name, device_list->devices[i]->device_description); > - } > + print_device_list(device_list); > > fail: > avdevice_free_list_devices(&device_list); > @@ -2270,7 +2287,7 @@ static int print_device_sources(const AVInputFormat *fmt, AVDictionary *opts) > > static int print_device_sinks(const AVOutputFormat *fmt, AVDictionary *opts) > { > - int ret, i; > + int ret; > AVDeviceInfoList *device_list = NULL; > > if (!fmt || !fmt->priv_class || !AV_IS_OUTPUT_DEVICE(fmt->priv_class->category)) > @@ -2282,10 +2299,7 @@ static int print_device_sinks(const AVOutputFormat *fmt, AVDictionary *opts) > goto fail; > } > > - for (i = 0; i < device_list->nb_devices; i++) { > - printf("%c %s [%s]\n", device_list->default_device == i ? '*' : ' ', > - device_list->devices[i]->device_name, device_list->devices[i]->device_description); > - } > + print_device_list(device_list); > > fail: > avdevice_free_list_devices(&device_list); > _______________________________________________ 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".