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 DE73142855 for ; Sun, 5 Jun 2022 09:15:50 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6248368B5B7; Sun, 5 Jun 2022 12:15:47 +0300 (EEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2070.outbound.protection.outlook.com [40.92.19.70]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B866868B4F1 for ; Sun, 5 Jun 2022 12:15:40 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mXR0rGPhx7D6XpvAOWv0yV/WxjFOnK7oAdufsvNk5h/gZ0b+CY92z86NltN+cQtfLxYgBdqeFf/eomDrotX+PenX6U9rapZz0pabAKFBB7ukGhw9o+mU5/DE8Xtgz/gg5IcxhB0gjToFxDW3eU3nEZB5DKfxAtPX/UDWRb3mST/sm+nSa5d9tkMWgW+y8BGWGHt0xy4AlmsVxJ/iZ/8Nbw96cVvJVFkIa8V9MdswqaH/rsP4i1YVTXLjTkYwGWfL4OWXYlzW4pCnvqjcDV9LD49mBi6okQZov4LmUAKIbPsPjrLwvu44XflVmsC0pIffpE60OPXr8GqjfJTik0donA== 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=TpQ2B7uMdoSuFKahTqxxyrGeEe8Qddpf0xzwVKxQ75A=; b=nVsjXEBzSlfG1WGSsNiJPxeSxYa1xnEyJujFi23+NOfmx2DbjJIjBvjWyOMAfdQTFlS1MBnkXcRy25EiD7xTCwI3lzaLHda8m7yacHSazaRyPkw80WazaTvFXf9JdQpTQ7IoKO7V3fp8Py8R9IJUPzqg/9sWHyGAjXSgwdrCZ3tD4AIYB5dOLkVPCvw1lcrTDnJekLQfCcBSvE14/i1Xb0GyFa8EL1felUDTTSZ5IVX/p/Ka0m64AcLYLXSe0Mt8Q9Fp+2cYbdy9AdgmJqrUodnrnlvwBT1CBryLMKQuUIKF5ANzMd6yOmH6NzS3Slfxf2TI+jB6sHNump9SS54+Lg== 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=TpQ2B7uMdoSuFKahTqxxyrGeEe8Qddpf0xzwVKxQ75A=; b=L9wx/sRXA3r+EFXgWYkdeIpUkwDdjWEmYDzt7juMo/8fUXKSWRSIC/MggrwhupoduIvMrg1vOwS4OijWaUtEPPpHZ7ychQg4rpnrkbOxqOHl1Nls/VviVRdIF2pjUXX01tWPk/yMvQw/QjlBeNadJ16pEZchMYbd3MVm39Ape5ZRVBgxHFspQ9pfKwqJ4g2cxhWhjEcFE/vRRN/6JTAvP8Mc1zf0LsCpCZnQS+lWrlDuuCjBNBcr0mKMt5rlh1jPj0fKVyqOW4bsKWKtMw2oqj390WIa3Ms8ExPxnY0s1mfKCf/+S1U1Y5fqxh/fT9DYQEhqRC/OPnK5aPkxokmFdg== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by CH0P223MB0108.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:fc::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.13; Sun, 5 Jun 2022 09:15:37 +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.019; Sun, 5 Jun 2022 09:15:37 +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/NxwRSzxUypnCXsEU54I61A1pQ8gAAV+nWAAAx5QA== Date: Sun, 5 Jun 2022 09:15:36 +0000 Message-ID: References: <20220323155720.20017-1-anton@khirnov.net> =?utf-8?q?=3CDM8P223M?= =?utf-8?q?B0365783CC5AF48817C137226BAA39=40DM8P223MB0365=2ENAMP223=2EPROD?= =?utf-8?q?=2EOUTLOOK=2ECOM=3E?= <165441247425.5088.1095760194724448724@lain.red.khirnov.net> =?utf-8?q?=3CD?= =?utf-8?q?M8P223MB036512ED3D29D532CECAF58DBAA39=40DM8P223MB0365=2ENAMP223?= =?utf-8?q?=2EPROD=2EOUTLOOK=2ECOM=3E?= <165441720181.5088.3725748658698613904@lain.red.khirnov.net> In-Reply-To: <165441720181.5088.3725748658698613904@lain.red.khirnov.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [cTQ8dRo3Esv2hjMep9qRFE+cSlYMRvVH] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4f86de9f-c206-4a39-3ba6-08da46d3f3d9 x-ms-traffictypediagnostic: CH0P223MB0108:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ut46vnQeudaxJyHWBUpnfyA6JHlaQMJxdivABdHw8SM5ewtAgdSurBqhhMUuy1OeglI7AQVQVK9Xy081oMqyuC1hNIG52WwyJVtKv+nUi8dhRZFLUmMZg0SuNYpUggRiMjoxXBtqXwn/4eyIpkbx9Al869G1TgHm8aCGR5q6WZk6EN1po80be1kaRBTnzA/Nehh460UkbZIP0ozk/YhjPSQtMxKChUxfJXPkdyuzfZcOq9+8aM+F10qqWYCqaGlqb41ybFSeo1UR9X4+MPiFCkSyp3aNY52YW+vg12B/2S/jXPrI4xfvz0gFnv+TN88+qs8psz9ZT2IYO6yLUW8hCSvQjDGG1P1ajep8nfTyH6vZP1ZD+nRsb2WcfNLXin0Jg85cvxTtQ2UrujHCuCSprDK7pixP+VbWYhr3QMTfI2n2qF8fSMjDOM68he4dhVNbdNeiETQzlh6n+P7SR6RKJRTlLApQAh7A7uZfzZExHIJPU50ymSI3bEWwsB+UwkyVLcjalcPgdqa5GeAxS4vBwl2U8lwRXAbKPpYYx3VRdHUzSTlSEnv/2C40+HqpP1ItYr5NoLUis0MTOlj7j0my8w== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eFJZMzAxb3pqT21ZbWVad2Q0Y3pVM3VPSlVrV0FENW9rUk92b0p6V0wvMWFW?= =?utf-8?B?R3ZJNXEwbWVJU2M5Tk10Y0I2RmdrTGpwZHFtRkczMVJ4R3pHaHlBOVRRdk9X?= =?utf-8?B?MzB6bTBHZU42TkFiMjltTzhWKytZNlduZ21uYmFObGZkdFhBdXltbjlwb0FR?= =?utf-8?B?UDl6U1ZVZnMyWEsxUENkVkF3L2FaSDlsTU1QMGxPaGhkbHpOYWhWZU5BRFYv?= =?utf-8?B?N1VBaHoveUFwaVM0ZU9VdzBXZ1VtUHhqVDIwNXc5ZEJTdllpZGtEL3ZFUXlo?= =?utf-8?B?MEpyclQ1TGJhZEFXNE0xcDVHTXlrRjJYTmlEUzdXWEdoUmhQVUtHVjJQMytE?= =?utf-8?B?bEovdDQ5Mko1QTU3a0FVdWFlS3pHaVVFN05jYUZKUldNeVcyWSs3N2o2YzVr?= =?utf-8?B?dFAxa1VFU0JZYmY2MitxRkQwdGpFM1hCeVB0ZnR4WDQrdnFoKzA5dmxkQ096?= =?utf-8?B?Y1ppQkdHZW5mYklRM2d5L3J2VnNxZ3p3aFNJRlJMOFNXQnkyUC8ycUVSUHlh?= =?utf-8?B?ckc1WDR2UVd6LzltcW16S29icDVlMFZ6VHR2UDArMHF2cXlkanJwWTVYenRN?= =?utf-8?B?L0FvcHppMzJPV1l0Z2Y0UXQrQUw3bWNpVXlIM1FKRjg0OFEyUVczN0NiMzEz?= =?utf-8?B?c3JaSGc2TGN4TlRHQWNVYzRyNUc0d3loRmExeGQxM3hXdCtLSmV1NWFWL2o2?= =?utf-8?B?YWpkVlRIR3RwRUZHNDJ6aEFFbUNDOXE1c0I2S2NacW9lNWt4bFJzUnBqazkw?= =?utf-8?B?ckVxVmRBQVlRc3dyRi9teStYQXN4WFVEV2ZTQlBWL3BVUmdNekJxcnJLdjBT?= =?utf-8?B?N2VPMFVKVjRKT05zWXdHLzZHOEgrdVRZT210cjZHWWRRcUNTRGxmd0VsaUdQ?= =?utf-8?B?YjcrdDNUMG9iaTgxaXhRQ2wvMjY5MldYeEZKRlJCbGVpeGUyVGVEUmt1aFRB?= =?utf-8?B?UlNIWkJ4NWY2M3Y3TGhIM1NJWVpoWnRmaFdwVmdRUFBrQnRqOTF2NWtIMWFt?= =?utf-8?B?YXhjZWljeG8rd2lWUUlXQ0x1VERxTkZiajhpemtXK0NpRXpvWHN3Wml2WXVB?= =?utf-8?B?NnZneEJIMzN3YUlmQ3hTbk1HTXAwK1VLWWtiSjYrMlZsWFNKUS9zamM5L29u?= =?utf-8?B?bS9DM2NaZWFkeHZmcXRibXMvejgveEZaR0dxQldIMWFxOE9wRGNLVytMbGNn?= =?utf-8?B?aTVlMGZNVVNMUkdTMk5nYm13RG1SZVNWTkFmTjhicHRpZlBOTUZUN1UrRGhU?= =?utf-8?B?Q2FIT1VWU1dIYXJzdGk0Y1NEcDB1WFZRTUxReHY1c0lOeGJya0R0QmdjOTFw?= =?utf-8?B?Wk9vRGF4LzlHL0Z1SE5TbnRlVFJNRHBUQ2gxSUdWS2tZaEE1RURweTNiZWFD?= =?utf-8?B?NW1JTHZ4VGIveXJYU05jaUxTNE4zYTZzOXRIblMwc080Zm4yd0RNcnJwbGt4?= =?utf-8?B?dmtISHlSVi9TMjRhMHNTRnF0NG1aMHc1WFBvelI5dzhXclFzSUF3enIxQU9z?= =?utf-8?B?eERjMC9tUUZSNUZzUEt2NlZ2b3pFOUVkWDFXT055VWRzUlltU2E3RlNKWWtK?= =?utf-8?B?SGYybXo3OHdXeWU4cE1weVhqT2picDVVRHlleHp2dXJMclAyRVZzdU9EN1dK?= =?utf-8?B?ZTM3dllRRW5pdUNSVlhpTFJGTXlFM1VTdVI3eUZHY3dwMEJyYkpWeCtSN3NM?= =?utf-8?B?cmlMYXRhMXVDNkNIWE4xK1BMSFhtV3BqZmdiUnFkNFJNZlJRYVZtUEZXZEdV?= =?utf-8?B?R1N0Qlo1L0pjcGZNMkNYK3JSd0ZRcnkxUzRwVTlFOW1GWkJ3OEEvY3Iwanhp?= =?utf-8?B?Nm94eXFDVWtBSksyNWdtZHdRc1R0bHJpK3BXTkluWFk0MC8zSGJoYjFXWXJr?= =?utf-8?B?bzJPRWJyNERsbC85SVB6RFcrNEx4RjdybE1LeU8wRUlBOE1WeDhJS3FjM0dn?= =?utf-8?Q?vPDW7rD/vDE=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: 4f86de9f-c206-4a39-3ba6-08da46d3f3d9 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2022 09:15:36.9334 (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: CH0P223MB0108 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: Sunday, June 5, 2022 10:20 AM > To: FFmpeg development discussions and patches > Subject: Re: [FFmpeg-devel] [PATCH 1/8] lavc/avcodec: simplify codec id/type > validity checking > > Quoting Soft Works (2022-06-05 09:54:51) > > > > > > > -----Original Message----- > > > From: ffmpeg-devel On Behalf Of Anton > > > Khirnov > > > Sent: Sunday, June 5, 2022 9:01 AM > > > To: FFmpeg development discussions and patches > > > Subject: Re: [FFmpeg-devel] [PATCH 1/8] lavc/avcodec: simplify codec > id/type > > > validity checking > > > > > > Quoting Soft Works (2022-06-05 07:23:18) > > > > 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 > > > > ----------------------------------------------------------------------- > - > > > > > > This sounds very much like a bug in ffprobe. It makes no sense to call > > > avcodec_open2() with the AVMEDIA_TYPE_ATTACHMENT type. > > > > You make a behavioral change to an API function that had this behavior > > established and constant over more than 10 years, and when that change > > breaks functionality, it's the callers' fault? > > How does this go together with all that peanut counting of major, minor > > and micro version numbers per library? What is this versioning good for, > > when you can make breaking changes and declare the breakage as bugs? > > We maintain compatibility for valid API usage. We do not maintain bug > compatibility. > > I fail to see how calling avcodec_open2() with AVMEDIA_TYPE_ATTACHMENT > is valid API usage. What do you expect it to do? There are no > AVMEDIA_TYPE_ATTACHMENT decoders. > > More generally, arguments along the line of "change is needed to > keep program working>" on their own sound very shady to me and > suggest that perhaps program should not be doing whatever it is > doing. Shady? I don't understand how you can say that. First of all: You broke ffprobe. It took me one and a half working days to trace this back from the symptom that the user was experiencing to that commit of yours. Now, you could fix that in ffprobe - but then it would be still broken for: 1. Applications which have copied the code from ffprobe 2. Users running (an unchanged) ffprobe with a newer libavcodec version; (you said it would be so important that the libraries are exchangeable and multiple versions can be mixed) Adjusting ffprobe would still break these two cases. Thanks, sw _______________________________________________ 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".