From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id B29C74D0E5
	for <ffmpegdev@gitmailbox.com>; Wed, 16 Apr 2025 02:52:35 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 58CCF687DB6;
	Wed, 16 Apr 2025 05:52:30 +0300 (EEST)
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10olkn2048.outbound.protection.outlook.com [40.92.40.48])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C8319687CAF
 for <ffmpeg-devel@ffmpeg.org>; Wed, 16 Apr 2025 05:52:23 +0300 (EEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=tbIHab29MdAgtX/KzMUuR1e8f4esOGu6KAuZJnb45FQ4A1viczx/KoEj+n9g4JWcfefKkQJuAzOLPSH3EwU9iXo78f89cWDkBuw35xBv6GrmzRBE1RjXfjwuDgRIQkevO3mtXHor/ST6/q+Gjpg8bedbsjja+NJwuOMEjlDMnPHJB7GGo4EhuFGmwcaQkNx2K99I6vk6ySOgDTecfA5OD9uv+tsXfSx4Qy+fIkQHtY3ioUfroP6RQO9DOyRZLUCVTH2Ei4ZiJFD0kgU1RPq1M/YOJgRcsYPx7M5WXv7JsoYOhaajvP6IWmkm8kkFTu2m1au6H0f7JTBqhHXUfrGQkw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 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=bd9KNeI8f2D1w6hWoo3m+BMjauXzeBugW9+VTbDhxrs=;
 b=hYM/o1V9t9x0Ih/JpFa/G9JvwNZbtk8DCiIi3jWXQgk+B2UjiEUKeub7R/7qY+4FASLKO8B+T8Pozxej/3RTSxv6oOM9NJZsWQZGKiVWj8VvMzLl8GYlLFHxFnbJJpoHnexluBKBmvOOW/coSmtXfMYVAP5ql2bdFagslIdXZQ86QDlqOqynm94QVV8lZh9mRckZgmDvfyNsrvNPVSb0sc5vnI54TUM00pC7oOPYGouGfooSChIb3sSL1lw2vrV6ojFoVyXJ/AgNHwzABC1KUfdFOKNYaPMNJ6wMMZMLKzf+zqyTftJXxk6/5gNon2zgK8609QzDT1xDBEqcuh+TVw==
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=bd9KNeI8f2D1w6hWoo3m+BMjauXzeBugW9+VTbDhxrs=;
 b=c970NQjbrJv999XKu9YcgJib/wGuvkSrBtv31vw53DY5u0H6L+6i8l9yDqMAVBB0vL6Axrf0e4JXYFpNytcRDP38QR/tM9gA3u9a4ithLjyipUbAEG2pHZVllGwX7IVIrXQqbtPPRSkcRkTsVLQ6tiidub5lei1n1O7MK67hylksKBVoGBdC1IvgR8857o8zzHtjh4OLm9BqZqIRY7CgbTp/oduRJuBQ1B+v9kVwWt9DXddoKPMsegSHK3RofXQoGxjSLkk1GGR/VVgMv/u3cf9rD6ZqlnZ17V07eQktNOQEkg4rdQv0OLkOeVIjnUPg9T+nZ4PjU6/XovtsKQs0jw==
Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by
 CH0P223MB0186.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:f7::5) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8655.21; Wed, 16 Apr 2025 02:52:21 +0000
Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM
 ([fe80::bf09:8e9:b07f:98a7]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM
 ([fe80::bf09:8e9:b07f:98a7%4]) with mapi id 15.20.8632.030; Wed, 16 Apr 2025
 02:52:21 +0000
From: "softworkz ." <softworkz-at-hotmail.com@ffmpeg.org>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Thread-Topic: [FFmpeg-devel] [PATCH 2/2] avformat/id3v2: Check that
 decode_str() did advance
Thread-Index: AQHbqzD6b8QhS9IB3U2xSLilkCUpvrOfQsxwgASOQgCAAAZwAIABQhQAgAAFo+CAADvZgIAAAb7QgAAop4CAAACN0IAAAsaAgAAU7BA=
Date: Wed, 16 Apr 2025 02:52:21 +0000
Message-ID: <DM8P223MB03658C2F1D76A2E9901E6F77BABD2@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>
References: <20250411222719.2779176-2-michael@niedermayer.cc>
 <DM8P223MB0365A90C10FBC9EF6512F9E1BAB12@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>
 <20250414231950.GN4991@pb2>
 <DM8P223MB0365928500AB53069869DC99BAB32@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>
 <20250415185538.GR4991@pb2>
 <DM8P223MB0365E10D38EF9174A32557DFBAB22@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>
 <20250415225001.GW4991@pb2>
 <DM8P223MB0365EFE83DE448577271D852BAB22@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>
 <20250416012145.GE4991@pb2>
 <DM8P223MB0365836071D915E428907879BABD2@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>
 <20250416013339.GF4991@pb2>
In-Reply-To: <20250416013339.GF4991@pb2>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM8P223MB0365:EE_|CH0P223MB0186:EE_
x-ms-office365-filtering-correlation-id: be23aa63-eb3e-4831-4c22-08dd7c91b561
x-microsoft-antispam: BCL:0;
 ARA:14566002|461199028|8060799006|19110799003|7092599003|15080799006|8062599003|3412199025|440099028|102099032|41001999003;
x-microsoft-antispam-message-info: =?us-ascii?Q?4dP5fZOag6vFcUfZFuWl8S85r36nF+AolfheyaUz6HXaI4r1xKOFAvPPNFi9?=
 =?us-ascii?Q?zZ6opEB4URIzeLrxBV32cpUtMIEag4YDd5Y7p1y/NZRgtwXDojTQo4vgDMTn?=
 =?us-ascii?Q?4VjeogxLQeD5z65TjZDWbxsb+EG1lKZcom0HM1Rsze2S+BYazjV/eFKYisIr?=
 =?us-ascii?Q?zzxOxt10w3c/Cya0DVlsI4TA/CrSssHKagFpARCMPI5T+pnrGPe6Yzo71R4B?=
 =?us-ascii?Q?ZEJedA3Uy4BC8qTGC+xXv5oiouHzRjVfuk4pZtM/xHVw3wjPNDavTdeBK9Wx?=
 =?us-ascii?Q?45WWs4NMNMlNOKlsHV2LDDIEwT2OfuDGa6cdoV8C4EiUzOXALQ5ZF+YYW2QM?=
 =?us-ascii?Q?DM0UG6ir1t/QMxfFxlnUA5EwcqnT8/iAyLVE5ZxsC+0HOfbe4A04ZHj2NDxA?=
 =?us-ascii?Q?PkN8v7yykVcUROiwM6APTlto3CKrd05l+xBkwbCZ0Ah9k6cJC+yE4Sfq3im+?=
 =?us-ascii?Q?5oefzw9//GxcDoG4K8lTLQV0XIFeT0rus30GAqKrBYcbcLH2yxhQ0rzH7NOq?=
 =?us-ascii?Q?WVqlyyPfk4vhq0iZfrygBR88MVG5q0VcMaqP9iByXgTJmCskU2S7CPPYjpy5?=
 =?us-ascii?Q?L/V/UcOB9GKnHOlw9ql4SMnk5KOEGuqrkAcTeQ/cFpYf4lfK1cp6y0R0sIqS?=
 =?us-ascii?Q?MYSLh8XTUb5XLrkJ8J350lvNnwBmD2SvO0FpSD6yFHW6hMxlbfV2+2aJsQO7?=
 =?us-ascii?Q?EDE9DShZ8/91nnmNyqmnQsCxMy0Qi3IWNvrY9HHseCIzV1pf8GBpoA365x48?=
 =?us-ascii?Q?jYQj3LH3SY+pEFfYLb7FkndmYlnItGs9wyCxs/zZTihJhBWSULDVsvVyZX8W?=
 =?us-ascii?Q?1cxTuuZrOKoHOKsL64yyXPtc6O8pLYosfwx8DGjx0Hf8NOQ5fzey5l3KnZU7?=
 =?us-ascii?Q?m2joZPhpmvg3vEFPrO/VzAq0i1P+rKDSOHuOYNCU0w5thh/FBCuGVL+oGybZ?=
 =?us-ascii?Q?KQx3zomF/1dHlxohsZfDU/fT0+SrqEhHfxaVKqZ5HRL+0PtrtjlUxLYfjKeo?=
 =?us-ascii?Q?D/L2iyG3Srx5gTtRDeXtG0gS1i8EXzAjEtli6YiqegQZgNkDkOC04aNezv5q?=
 =?us-ascii?Q?tNKu1kJyvGy2SupKQNbS2dckEFtGkFGc6ZOLKM8P3Rw3RlUs8JPJquei4eCo?=
 =?us-ascii?Q?KkUQ+DUvTOnhKrV4CYD0VmQEoXLi3PCU6A=3D=3D?=
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?ur0bpL3FqDOkKk1UuGPE/gEkiz60sgkSG3MYKp8PdY5g3vSjPds5a9bKZ0+i?=
 =?us-ascii?Q?kt3spXj1KoG61UBnF42k+pOe4S6F4B8uK61CEp1qAATRsYYXvd/fkE6AiXLJ?=
 =?us-ascii?Q?VNvnr+HxwXbkc/Icj4s+eZRzaWF/WwbjIZpAjcpzpyyGuyYrmGkdeF00O+3b?=
 =?us-ascii?Q?R3/AW7G2yGQW4mfJ/tySzcWhyYdTSPCHOGct+E+CEq5EJrI4U0T/3sbehUXp?=
 =?us-ascii?Q?i2FWVB7q1EfUA6f30eT2pvBrbJLnShY9HuqQtxYu8qYvENnh+Ausmzxwb1Mj?=
 =?us-ascii?Q?+jZeXU1LXnGtKkNt7jYEP33MeFQ60aJz2UgHRfT5Fkc4Cg908heVR57tR/d3?=
 =?us-ascii?Q?QXzWL3nn/vIy+KzQ0eGz9BCR14YUksBkNeuPqY63xaxtuSezxkn2TWo9KXCU?=
 =?us-ascii?Q?Oo/sacWJC0GP26X25WFINph+rDbwla3VxDnmbCyrz9bNDkiHvg7a8qh+e9R0?=
 =?us-ascii?Q?2zQBooV7CxpCfJQo7xaQMOcC50jytRq845UOLhRI8+SOd0guG2TqLyxYimMl?=
 =?us-ascii?Q?j0++UydapUKpA7FNpDwruu+9E+QSn6JWd5jCVzoednaWnlGdU3YXQXl/cEDi?=
 =?us-ascii?Q?p+SdxNMLLzcsQO7zOVRWqvgRPwhlvKNwKU8k/RzVhX0nHxppTaDguN4uCEaY?=
 =?us-ascii?Q?qH8PzB70LfoLsaBxLFgbQAVKLm3xt/LklUbf6E5QmmWCqNmcaZXJ98L7ehJa?=
 =?us-ascii?Q?nRe1Tl83OtThWSc3y26NymY/neCQyvDNLhpUwKA3/ERQyJKsBbSreBMZRS7V?=
 =?us-ascii?Q?/MYzevLLe2Uh7YPdMhRkfIWp4vtwfvZkKQGFhj2gG/OaWY0w5n/8DxnvvYKf?=
 =?us-ascii?Q?MBd4/j8kE33qmXiWUpQ2ui8uXQ2DvehEqb9rY2nf/+QzrsTSQZn9YE/nY5dX?=
 =?us-ascii?Q?tRKY3YmsfiDEXEqRFgtQdfVHEf5aP7z3HcVSEy8H2SyhSQOMLF1zgUrIovNU?=
 =?us-ascii?Q?jiKViGPE1uB5oERGjckwCREx4AZhPG23vB6zC3E4OvDrK7pmxvcTKzJFA24m?=
 =?us-ascii?Q?kMxSm/CaUeXlhGeb5rkqIpSN8Npv8a/45zq9OEt6NEqLD2x9apy/zpgI/yZ6?=
 =?us-ascii?Q?TSgixt6SCIXytxNSM4TRfHzoAJJfOqcSy6rIoesNcKea57JJ7nIRdFb/hapu?=
 =?us-ascii?Q?9wURXixKhjlZDZ5xkYH0mrL18enQib3aaflUvLFepgRBYNZWUMLnlNnG17mj?=
 =?us-ascii?Q?6D5N8kqSV3jtw8pvvzQynC6nmy30l2dDEO9X89ouwn/J+ZX4wx2YxVSFBjc?=
 =?us-ascii?Q?=3D?=
MIME-Version: 1.0
X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-92255.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: be23aa63-eb3e-4831-4c22-08dd7c91b561
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Apr 2025 02:52:21.1288 (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: CH0P223MB0186
Subject: Re: [FFmpeg-devel] [PATCH 2/2] avformat/id3v2: Check that
 decode_str() did advance
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/DM8P223MB03658C2F1D76A2E9901E6F77BABD2@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>



> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of
> Michael Niedermayer
> Sent: Mittwoch, 16. April 2025 03:34
> To: FFmpeg development discussions and patches <ffmpeg-
> devel@ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH 2/2] avformat/id3v2: Check that
> decode_str() did advance
> 
> On Wed, Apr 16, 2025 at 01:29:02AM +0000, softworkz . wrote:
> [...]
> > > > This will cause deserialization errors for many people in the
> world
> > > > who are processing FFprobe data.
> > >
> > > As said, ffprobe should not produce troublesome output

First of all, any patch MUST NOT introduce behavior that goes
against our own specifications.

>From avformat.h:

/**
 * @defgroup metadata_api Public Metadata API
 * @{
 * @ingroup libavf
 * The metadata API allows libavformat to export metadata tags to a client
 * application when demuxing. Conversely it allows a client application to
 * set metadata when muxing.
 *
 * Metadata is exported or set as pairs of key/value strings in the 'metadata'
 * fields of the AVFormatContext, AVStream, AVChapter and AVProgram structs
 * using the @ref lavu_dict "AVDictionary" API. Like all strings in FFmpeg,
 * metadata is assumed to be UTF-8 encoded Unicode. Note that metadata
 * exported by demuxers isn't checked to be valid UTF-8 in most cases.
 *
 * Important concepts to keep in mind:
 * -  Keys are unique; there can never be 2 tags with the same key. This is
 *    also meant semantically, i.e., a demuxer should not knowingly produce
 *    several keys that are literally different but semantically identical.
 *    E.g., key=Author5, key=Author6. In this example, all authors must be
 *    placed in the same tag.
 * -  Metadata is flat, not hierarchical; there are no subtags. If you
 *    want to store, e.g., the email address of the child of producer Alice
 *    and actor Bob, that could have key=alice_and_bobs_childs_email_address.
 * -  Several modifiers can be applied to the tag name. This is done by
 *    appending a dash character ('-') and the modifier name in the order
 *    they appear in the list below -- e.g. foo-eng-sort, not foo-sort-eng.
 *    -  language -- a tag whose value is localized for a particular language
 *       is appended with the ISO 639-2/B 3-letter language code.
 *       For example: Author-ger=Michael, Author-eng=Mike
 *       The original/default language is in the unqualified "Author" tag.
 *       A demuxer should set a default if it sets any translated tag.
 *    -  sorting  -- a modified version of a tag that should be used for
 *       sorting will have '-sort' appended. E.g. artist="The Beatles",
 *       artist-sort="Beatles, The".


Especially:

*    E.g., key=Author5, key=Author6. In this example, all authors must be
*    placed in the same tag.

I think, this tells very clearly how it's gotta be and how not.


Best,
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".