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 B91F340A86 for ; Sun, 5 Jun 2022 05:23:31 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B634568B5AE; Sun, 5 Jun 2022 08:23:27 +0300 (EEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12olkn2100.outbound.protection.outlook.com [40.92.21.100]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8850F68B5AE for ; Sun, 5 Jun 2022 08:23:21 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DBxdeIw/+8R9rdmABqX7VUSEM9JQ0zs0ETXdrST1lbtnrpWIdkQRK/a7xBjl3SuasUD9LqtV8ndpSy6M86QL/Ua8Y0W18KH50+4ugaAXDbf3u7kd4ZPfnuPMpMcbjY0et/N2q4kozrKvxOmKLqgvYP7q0qlNOwvveVYvyNXrdzqezJUcOSXvh1wvOM6JjgOH0DLL31R67qQ1jj4QsjCJFOUA1C5Z9YY1It66lVZCWVNe3mAdxgsfNhU6aQ6upnVI3Q+JsibHvSwe1xTiE0YLP4tjCx6M1uWEVVs33YXX9wdSgLhiA+8Zw8ryLIc/wPaLA9819gHvVdtJbZzdg2nsxQ== 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=EwSoTwy8WwQ05pc6XvElOPoUNTppWAks0zDuu3qFh5E=; b=E79wsKg+mlnicrQBTKHoOb2hSjo2ZGtXTfqszF2xCTZ8KThxK3J6L+jMfnix8nCNdAxkCd6a9DVybLWg40VDO0yDidX7S3gOnFH8itzNjqPPbNyPePiFag56REJdeBfeDOit7a3P4FIsRkOTEVo5VkgIdXjdinABIR3xanZRLfKr5PdqX6PPEMCRF4WfXvb2ho3YNTx5raaOiGFDohnSxVSYyPZnvgQx+/In/FgkAG46a76lThuq+vsZ/TneMUxMwwlBMsEzVM3G8Cgmu83ygIetGUFUjoj2zKqsxxS5sLFH95/qnZDe247eUSTxCvbclCyabHx2P/JkegVN8wYNRg== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EwSoTwy8WwQ05pc6XvElOPoUNTppWAks0zDuu3qFh5E=; b=L7YZLRygXtmwbprO5N1SRx3QbkxQ8KPa10Tauqi84ghc8leAW8V+A1XhELKZXdYYBTZ9h9ZwBp8j500fJLizDaB4tWpOm3ktQUJg1ABIuHn3wZjLfdsNPamsYSmrRXDa+Fe8zMRe7WoZMcwO67mpikegJIdWxewCCKwb0MkL09L36JapiRbObn9TP64bq2dvwezy2R854Qy1AT6HmbyKjHkjnNpjKJwaassbVrDI6qOZWWsLcGs4hOLugn9M5+hXrdHPHoFbjS+pPYMggIZDorn2p7X2cg7AH7W53V3oF5g9ln6PVGwgtN5AXstbUatzVHB0YDD7sgYe163Jv2A2Dw== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by DS7P223MB0453.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:9f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.17; Sun, 5 Jun 2022 05:23:18 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::f144:21f9:cdb1:5c8a]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::f144:21f9:cdb1:5c8a%7]) with mapi id 15.20.5314.018; Sun, 5 Jun 2022 05:23:18 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH 1/8] lavc/avcodec: simplify codec id/type validity checking Thread-Index: AQHYPs69Q/NxwRSzxUypnCXsEU54I61As1cw Date: Sun, 5 Jun 2022 05:23:18 +0000 Message-ID: References: <20220323155720.20017-1-anton@khirnov.net> In-Reply-To: <20220323155720.20017-1-anton@khirnov.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [XacQDHwp/EJtBUGC3vS5Ysnm7WsZmWXn] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d418867b-c5bf-4d9f-299a-08da46b37fe4 x-ms-traffictypediagnostic: DS7P223MB0453:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: dWRaO5Zd9uty9cqB+UHeWFcZeMbec/C1/I8i1HgjVEcig+RW2qORTv7NIY/3PmVT/hd8cNL5T29uzZkzmBQYT3u0oEUiQQXLgY9Oky7dra+gMNFeCuX3zHYTbTQVVFhbPB/eMIQNty8okhib1MZqWMtcQEb/NVN5NC3LIbY2JJ0VuREQW5phMQScdLHQzCEz2iWiIurETv1iAM1639BvOZNfLs9C9YJ8j76PCedrF4CkSmJw7HkniFpTit0cEH9G5phTgS+i+QPNsdOZ/iPy2a7w/QPl0WEk6SVh/enKulFgZYMvkmjSg//eIor1BqrsCSeQ5Lr5fvSOdqXKBFrt/ab01b11S2FN8nbchBt5K3kDfqx6nGv1/ENDmQFHPQEExaPZQYQA2HC9gUcN6ttLVsx2Fz2xPuAi4WOgCd9Aru8zWjQvHqoiHAYiICGMbzmVff8XNF00EN7CN6/OAvPeMeXCq4vo72U1QEYIxhQ52h4vnMW9GWOnmptjDqlN9oXj7v4fycds32ywX1qs1FQWikakxD8UDQyJ+QR8oLddckvHxjN2vRzm/cQdCHkOqMcL9+TEp7z327jT/QGDyeNlUA== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RHJDUjBIbytWVmRCYTRMM3RXL1dpSmMvTlhSYVF5enY5WUhmZ0tWMEJGd0Jr?= =?utf-8?B?c3VQaXp3K0F4cDMzWTF6cEVySjhFWGxpUFhDcUhZOU5LVDZjYzVtQlR5S2lj?= =?utf-8?B?MlF0dVNtSmplVmNYTlA5ajQrNlpibkFhM0dVMXNaOXlNQkg4V0JyQzlKL0Q4?= =?utf-8?B?NjJHWTlXMGdVc1hxVXF4OXVZK21Xb0NBUjZ0dmNxWUZQQUFlZ2dyQnBHbWpE?= =?utf-8?B?eHNycjZkOUxBQm9aYlc4UHdCK1lIRGlmOVVTekFEWFZiQVVDeVVEQ2FnTUVi?= =?utf-8?B?S2VCbTI5VjV6NzNDa2NPemM5SWVtV0QySm5lc3FKdTZmKzJiNWxvbnR3d051?= =?utf-8?B?TUs5UGR5amphVUY5eTM5N2c3d3dBWHlubU4vYmNHdFJoNzFFUFMvNVJieFpm?= =?utf-8?B?VzBFR1J3UkpzVGI3TFQzb3h0QTNRTW5OQ05FTjhsT1VvY3ZER3QyNjB2SFc3?= =?utf-8?B?OGxRZmtIL09Sd0V3U0kzSTZBdXN4WGZsZEd4YXpMZUJNaFU2Q01PQlVYbjlU?= =?utf-8?B?KzBwUE9KS3FtQ2RvVW9pM2swTjVDY0hFaXhxbUdtc01SVUtDYythTTEyNmN4?= =?utf-8?B?cGsva25obm5FSUFBMzZLejJYSDBKOWdKMmV6MkxEY3FFSVFSWlRiMk9obEcw?= =?utf-8?B?NUZUaFRQQ3YzK1k3bUVVSzFxUmRDekl6bCtWR3dLR2tHQ2tUNnRXWThUVXFX?= =?utf-8?B?clU1eGNBazhSNWFDVEpuQmpZTUFxK3NCQ21EL1NQeVkrNUZXUTIrOEp3bDN2?= =?utf-8?B?YUVuT09FdDJMdkFCbU81eU41SzhVSVRHUTZ6UitIbCs5YnZ2UmpVU1RpTm5r?= =?utf-8?B?WGltejNwNHVqODhTSU5tOVhuWnVYMzZkOFdYR3B2SEJPVVhnbXFxVEEzVGpi?= =?utf-8?B?UmVjaHh4UnpDYzZSaUYxTDh3Z2pqZ29PcEJsSnBTeGdVcDFGcjlmUTRSNmNL?= =?utf-8?B?WGpUMUxTZWZidzh4UHJrOENqYlhaMld5WEtITEtKa3dsVlZrWlJTTWdZZHBC?= =?utf-8?B?Nll5YkxxbG5XcUdmUnhjWVkxcFZXS2xtTldDakIyUm40UjV1dHlvVjZlaDhL?= =?utf-8?B?WGVkRzUrSjVyRHZxODArR0MvNmZmRTNCeXA3SmEvbElGK2NzaDZZY1JFUkRr?= =?utf-8?B?N1dzYTgxbVUxaWM3WFVUMStWMU95ckdKWnU2akVBSTVWL05CRnJCWUhBdGs3?= =?utf-8?B?NW84SGF5SkZOeDZrcDlKQnA5cGhFYSsxenlSejJncHVnWXdlVnZQeUhwRmpO?= =?utf-8?B?aURyKzh6WmZ5YVE2VnN3NHhzVkFlNkRKbkErYXJRVjhPMWZJTFVkelBodDJR?= =?utf-8?B?NUFYUEt4Wk5FRHQ5OTBLSG1EWmd0SFhxQlRHNmhMbUUyQ2hmR1RzK0R3V1Rz?= =?utf-8?B?bVc1Y1BWTHFFWHlEdUlQUVBSdnlUbGduamFJZWRWQW56SEloYllQQXVSaWtr?= =?utf-8?B?djFUNHNCVnZTWDhVNW9hbnEwV3Q4Q3FsTWFtRFdIak90Z21hai9aa2xYRGxs?= =?utf-8?B?M01EUnE2V1d3NXg3R0x1NzJHM3cxY3ZrMk4wOEJkNnU1aTBGakZCM3VBZmZL?= =?utf-8?B?OXN2cDlHM1ZKbm1TNkhYcVYrWU9EbjBFQWhZaTdTWXcxWUVNaEF5dkZ5WTk5?= =?utf-8?B?K3dMcGxlWnBSRENsWDk2S2VOdDBLeWVQRWphOXlIOVVJRExLa3lMdUhWdWNa?= =?utf-8?B?TFZMZ3QwTE1leHA2UTVERVIrOVRTWEFDOElBOFRORHdESzZPRnZPaW1hcENS?= =?utf-8?B?T3VaYmswaEw2MjBZRWFXcERwcm9OU2t3MlN6WUtaYzNtbjBWOFBKb0FsRGRZ?= =?utf-8?B?ZmRNRUhRZk9PZHFlRWVvUUh1ODhQSTJNT3ZVUkR0Wkg3MjFVczRFemxZTG5r?= =?utf-8?B?aHUrTVpvY2JCU3pVQkx3b2o5WWxqd1ByMVU4QWtJMjlWWHg5b0N3bStVZUVY?= =?utf-8?Q?2P8WsLVanxY=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-1ff67.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: d418867b-c5bf-4d9f-299a-08da46b37fe4 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2022 05:23:18.4471 (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: DS7P223MB0453 Subject: Re: [FFmpeg-devel] [PATCH 1/8] lavc/avcodec: simplify codec id/type validity checking 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: > -----Original Message----- > From: ffmpeg-devel On Behalf Of Anton > Khirnov > Sent: Wednesday, March 23, 2022 4:57 PM > To: ffmpeg-devel@ffmpeg.org > Subject: [FFmpeg-devel] [PATCH 1/8] lavc/avcodec: simplify codec id/type > validity checking > > On entry to avcodec_open2(), the type and id either have to be > UNKNOWN/NONE or have to match the codec to be used. > --- > libavcodec/avcodec.c | 14 ++++++-------- > 1 file changed, 6 insertions(+), 8 deletions(-) > > diff --git a/libavcodec/avcodec.c b/libavcodec/avcodec.c > index fbe4a5e413..dbaa9f78a2 100644 > --- a/libavcodec/avcodec.c > +++ b/libavcodec/avcodec.c > @@ -158,17 +158,15 @@ int attribute_align_arg avcodec_open2(AVCodecContext > *avctx, const AVCodec *code > codec = avctx->codec; > codec2 = ffcodec(codec); > > - if ((avctx->codec_type == AVMEDIA_TYPE_UNKNOWN || avctx->codec_type == > codec->type) && > - avctx->codec_id == AV_CODEC_ID_NONE) { > - avctx->codec_type = codec->type; > - avctx->codec_id = codec->id; > - } > - if (avctx->codec_id != codec->id || (avctx->codec_type != codec->type && > - avctx->codec_type != > AVMEDIA_TYPE_ATTACHMENT)) { > + if ((avctx->codec_type != AVMEDIA_TYPE_UNKNOWN && avctx->codec_type != > codec->type) || > + (avctx->codec_id != AV_CODEC_ID_NONE && avctx->codec_id != > codec->id)) { > av_log(avctx, AV_LOG_ERROR, "Codec type or id mismatches\n"); > return AVERROR(EINVAL); > } > - avctx->codec = codec; > + > + avctx->codec_type = codec->type; > + avctx->codec_id = codec->id; > + avctx->codec = codec; > > if (avctx->extradata_size < 0 || avctx->extradata_size >= > FF_MAX_EXTRADATA_SIZE) > return AVERROR(EINVAL); > -- This is causing a regression in ffprobe. The commit removes the special-case check for AVMEDIA_TYPE_ATTACHMENT which was required for ffprobe and had been added with e83c716e16c52fa56a78274408f7628e5dc719da. The demand from the commit message is not yet guaranteed to be fulfilled: > On entry to avcodec_open2(), the type and id either have to be > UNKNOWN/NONE or have to match the codec to be used. I have one verified example (maybe a second will follow), which is an MKV with an attachment "stream" of type "text". The found codec will be textdec of type 'subtitle' even though the stream type is attachment. Without the special condition for attachment streams, this is now causing ffprobe to error out with non-zero exit code and incomplete output. ------------------------------------------------------------------------ Example: [...] Stream #0:9: Attachment: text Metadata: filename : textfile.text mimetype : text/plain [text @ 000001AC32310340] Codec type or id mismatches Could not open codec for input stream 9 ------------------------------------------------------------------------ Regards, softworkz _______________________________________________ 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".