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 10F60409C0 for ; Wed, 2 Feb 2022 02:13:23 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 702E568B343; Wed, 2 Feb 2022 04:13:21 +0200 (EET) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068017.outbound.protection.outlook.com [40.92.68.17]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5CD8168B311 for ; Wed, 2 Feb 2022 04:13:15 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=De1WAPGgBRttdlaUL0YS2a2psztzoK6jCTZQREeU51yVnIPOU9J8+X3Pdc67sB0v8IAfVG+BkLHzfZEufEiS2ainvwxeVcaRrZsb7DxZ6Jxp0YVB5Ntxvzgk0tQacdQODflkNDdom1haCilRM6RovAdRvtSbtIvUYjPnZfD1vX23Vtl2LFVYhk0HDT1dG+Gl9goboNZoUGT9p21NCdu9PylZ9JQbtb4nilVFpVgQ7BUy/1x9ZjAdWHh+ELn98YG99AObn/0OK+017vDBEgaZ8fs/wG8Pn1oBJd0mzKoTG9rh2PbfBVjNHBobcOS3njfqENrNJ9LJGo+rMgCPkweKAg== 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=Fk8KcLmPMPFEvvPzmX1eFySHEahyV4tuO6SMdubRTQo=; b=BhesDx7v8W2hpXSxQxqNoALpQVHKV7yhvEFRHcv+FibuZk2/0l5cDnoKJXhDb/dqLbQrZb6LFGulIdRGpidisNot8kmn5NXup8RkTK9G+m+RB8mERPN2VOhaU19BOLRXc7YjvBhQlizQB3ZSVHYoIqT6tjSH0AgP3HiwVc3WSNv/GWknJZL7hTTppDxFlk6NVG6MeucUq1j87uf1akAcXnsiZrdsM/bZXoP1477K3ZkHkxRA6lPoXqVYlEDVV2VrB30z1HGS56iWtKVJeX8kLGepXFSF9Ji2rl8AEKOiV5ARIvsMSMRd8oPN+DIbtkTxTGon3gSwHVl7OGc06cYTvw== 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=Fk8KcLmPMPFEvvPzmX1eFySHEahyV4tuO6SMdubRTQo=; b=n8QPdSgoMrzvlgGx3Kx9CeJwIRCeIHdZlrkUREaExeq+jlLgsLFMkv7u2yjv0jXWO15w7o3yo/JGM2TANkrqMGdXzu4CwCPnikJMm5RO+qxL7+86dSKsUdg10ei/BbVzcZ5g5+LkOh2fXg9mJiPGiHIEC3gSuHCyxYz/6E4jLCq/19X9C0cgoRaZsqDq1zPxTwQJKgsvZCrVpWrPqveVggIwp3LgNroUOxRlCqH6+qiuG15e3lySXZusoOg1PwtVo8NY7/M4rLfpgOkeW8yr4yabIEYfsFTXJ0iRh6NV+9fFmjICuEru1XbXugzWGKGQWblrU9kVaEj4jPFBbzdBIw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB8PR03MB6299.eurprd03.prod.outlook.com (2603:10a6:10:13c::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.22; Wed, 2 Feb 2022 02:13:14 +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.011; Wed, 2 Feb 2022 02:13:13 +0000 Message-ID: Date: Wed, 2 Feb 2022 03:13:12 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220201223058.31090-1-scott.the.elm@gmail.com> <816bc1cd-db7c-2091-5b13-6c54560110e4@gmail.com> From: Andreas Rheinhardt In-Reply-To: <816bc1cd-db7c-2091-5b13-6c54560110e4@gmail.com> X-TMN: [9G126bJJfGKp0cttoxEngNzpVh3k6L5u] X-ClientProxiedBy: AM5P194CA0011.EURP194.PROD.OUTLOOK.COM (2603:10a6:203:8f::21) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <781456ec-f3de-306e-bf24-56361e5b4520@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 714f6483-5741-48e1-cb0e-08d9e5f19165 X-MS-TrafficTypeDiagnostic: DB8PR03MB6299:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sfH6y/c1wUI6ikIlGHza5WfdXCjIS85FYyHWARPu1cWUt/nmQoMcblnGafllD2VgqIujjz622EkTq0w+/ANpgFOs9VJr2Uyns3vsIce/cEAlgXEW9zhKHakbBmrt6Nb5nSLkTXt482mI6w7pf+utcV0aVCwmcUy06c/iSAIXZwlWPdx+Whu8ferR/fT+ULJNaKcybhVYBKKNx50JYfgw/Qr039i4dLV7c3MHPVn1mq9TmX1yAWaniupKikAwfkbl7juFCzJN9st3/sAVEOPpMzKTXvF3wqf+FVCXJJ9/FSmiIngOIWgKNTkUkhjqYMJx7e0WQva/DpR4DXrGh03af4lLUelKvRGPZLMsx7Z3m+ABGO+vGUO9Pxk886Sm8JBSUeJkBPVQ+rU4Thf7pqCLwNGocYI233vv2pdq4sG9oHwaBgtq0EqwsxLUBq09PS59mXeuckJzKPpQ00yLS+dStiynXdx/B+k7ETi83JBa6pCw+GIagWNCk4HuE5T20NGIpuSayw5OPoyJMl2R/LLbpQvtvWmtpLHKvheP2XA7J5120Z6eh2QqwqMc9ptvP/xj X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?a3hhdkVQRnB1SGVVYlhIblFyRC95WjVxc1J3SG5RWlhhQTc1MHVNc2FtV2E3?= =?utf-8?B?Nlh5S3JMQ1UraGN3QUZmRnlBZTdmWW9DZFNuN0VFMGd2S3BPemhrL2tUdlVV?= =?utf-8?B?TE5jc2RFSHM4NklCMzUwUlppTEJHVmdTWGM3YWYyY1A4RnFiNzIrZ3I5clNs?= =?utf-8?B?azFwdmNIMUg0cHdrNTRvZXduckNCRFhuTFRrZ1VEUHN3TGFsWEtIbGlmQVhu?= =?utf-8?B?cDRWeTlSNXNjWGRhOHhJNGtGaWN0eE1qME9XVFBzT2ppZU4reEVuQnVneWFQ?= =?utf-8?B?TjJjWTBXa3ZqUnE2VTdLSXdsMzJZZDNEdjdScDl6Y3o1NFJNanRCTkkvbnYw?= =?utf-8?B?OUxQVmdwSFFEVGpWNkJ0T3d0eERvSTRrWU5PS3ozejk5N09MTHVSWUpXMVVQ?= =?utf-8?B?N0crdkxmSmVHeUVHSVowY3JBZmVreEMyWEkrdmxKN0Q3QkF4anhqSXhPVlUx?= =?utf-8?B?MFdXeEVRSkpCWnRUZU4vZWxkWCt6Mlg5b3lJdzhFRVU0NEZJMGRVd0trRUx0?= =?utf-8?B?aUttaHkyZy9yMkZONCtldWZqRzRuY0pqdFBPakhxSXNuZkhoL2RxZ2xFNDlN?= =?utf-8?B?M2lwVHdYV0tTMVNGSlJlbysxUk9POFNRRERVNzlYL0sveDQ4VHlOUzA1cWJr?= =?utf-8?B?aVVQT0UrR3ZKSnQ0dUhpTlMyZ253eWpFUlpKd2dCQ0RlZTVYR05WREVDNENm?= =?utf-8?B?cW1xNmU3b3E5U3luWjhaQnFKWkRRT2hZVWlvaDZDdE92T0xTRmg3MU5OaXM1?= =?utf-8?B?TE91czFpZTJBcVpzT3Urb25qa3ozZU8wWEU5em5OeGVBU25DZmp0SWdHWDBP?= =?utf-8?B?OE9RRDR0SWJZeDdGbnpDaGNpZ2lJaWJPa1VMaHZ2NHNxSXFWdXYycmhTZGZ2?= =?utf-8?B?MFU1Y2ZzRVJSbUxRYnpGbTUranllbjJxRlpOOWIxVkNQWnNPUlBFYW1IcDAr?= =?utf-8?B?bFJKVlg5eitQZndac1FueWdvNlRwRDNrRjNteUtDdEg0bXc5Y1BaZHlsYm45?= =?utf-8?B?aWxpT3NPTEFBZjFpeEVVU1Q4V2d5eXJsZTBra2d2bHNLUUg2OFJ6eVBFSmFB?= =?utf-8?B?VSt4b2RZUkNCcHN5bEVlZ1FYN0N5MFdRSWYzdE94b25TZTR5NU4yYmg0TjRm?= =?utf-8?B?K1pFelh0YVJzYnJSekE5Q2Raa1JvTFN0dCsvU2J5STRHV0kveEpCdG1GSWx5?= =?utf-8?B?WitPUm5iVTZkN0taa2o1NENxUXhpb3p4WU5pUnJ2YUV1bUVQekluODg1ajdt?= =?utf-8?B?M2xyekdWZ1YrREdqeFo5YUhtZjZyZFFkUGwyRkFaM1Rva2h6Zz09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 714f6483-5741-48e1-cb0e-08d9e5f19165 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2022 02:13:13.9507 (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: DB8PR03MB6299 Subject: Re: [FFmpeg-devel] [PATCH] lavu: make av_get_media_type_string() never return NULL 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: Scott Theisen: > On 2/1/22 17:34, James Almer wrote: >> This is an API breakage, so it's not ok. > I'm new, so would this require a bump to the MINOR or MICRO version number? > That would need an announcement in doc/APIchanges; it can then be changed at the next major version bump after two years have passed. >> The doxy states it returns NULL if media_type is unknown, so you're >> expected to check the returned pointer before trying to use it. > > git grep -E --count "av_get_media_type_string" > > doc/APIchanges:1 > doc/examples/demuxing_decoding.c:5 > doc/examples/extract_mvs.c:2 > fftools/cmdutils.c:1 > fftools/cmdutils.h:1 > fftools/ffmpeg.c:5 > fftools/ffmpeg_opt.c:1 > fftools/ffplay.c:2 > fftools/ffprobe.c:3 > libavcodec/avcodec.c:1 > libavcodec/tests/avcodec.c:1 > libavdevice/dshow.c:2 > libavfilter/avfilter.c:2 > libavfilter/avfiltergraph.c:2 > libavfilter/src_movie.c:3 > libavformat/avienc.c:1 > libavformat/flvenc.c:1 > libavformat/framehash.c:1 > libavformat/mov.c:1 > libavformat/mpegenc.c:1 > libavformat/mpegts.c:1 > libavformat/mxfdec.c:1 > libavformat/segment.c:1 > libavformat/tee.c:1 > libavformat/uncodedframecrcenc.c:1 > libavutil/avutil.h:1 > libavutil/utils.c:1 > > 44 total - 1 non-code - 1 prototype - 1 definition + 4 via macro - 1 > macro = 44 uses > > The following uses of av_get_media_type_string() do not check for null: > doc/examples/demuxing_decoding.c: 5 > doc/examples/extract_mvs.c: 2 > fftools/cmdutils.c: 2 via the define in cmdutils.h > fftools/ffmpeg.c: 7, 2 via the define in cmdutils.h > fftools/ffmpeg_opt.c:1 > fftools/ffplay.c:2 > libavfilter/avfiltergraph.c:2 > libavfilter/src_movie.c:3 > libavformat/flvenc.c:1 > libavformat/framehash.c:1 > libavformat/mov.c:1 > libavformat/mpegenc.c:1 > libavformat/mpegts.c:1 > libavformat/mxfdec.c:1 > libavformat/segment.c:1 > libavformat/tee.c:1 > > 32/44 uses do not check for null. Who sets invalid media types? (In case of fftools/*: If they don't set it themselves, they (and all our users) should be able to rely on our libraries to not set invalid values. The same goes for all demuxers (as they set this value themselves). Checks are only necessary where the media type comes from the user; this means muxers (where the check should be done generically) and possibly avfiltergraph.c (I am pretty sure that the type has already been checked earlier for filters).) - Andreas _______________________________________________ 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".