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 ESMTPS id 913A44AF2D for ; Fri, 28 Feb 2025 22:29:25 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 92C4E68DCA6; Sat, 1 Mar 2025 00:29:21 +0200 (EET) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10olkn2020.outbound.protection.outlook.com [40.92.42.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 46C4B68DCA6 for ; Sat, 1 Mar 2025 00:29:14 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iWI0b43BDTpC7EaeiqI7byOJY30scERJxe3Boz13RQ/nStuoXI+pbWFT7f6RsPJaRbsey2I1blBTc9guSq9Oon+auUN/XJtmcPrExartXxDnBhkObNkAX7p2Pmj1eJQuzLwQ7ojNKxyHHcReOllrPNB1QALJu/v433d6iql2/wDEnAPNh3oUbQQexGr1xm3Of10Ay/sptHh9t1fU02YuSG7sNu+81NoH8CWT7ewwwBhq4VbrowpZDr1mogceN37YTDvUwBp/vFQhUTVv1+wFa8wj33kC1TJBjGJ/ytKEaelugoaxQvdmqAx4M9pF62qtls9qUTD6Tf97FEMQOWjSzQ== 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=hrz5cnV/Qhe9Nc3OpfpmxSfEHDi+MnWCsMXC/E2KZ4E=; b=qCkUDRgCaRVS3XWqmnZBtzNarihWsnF6oK8sX5D/clsMsv294YjGwcxRmhDQc20HOxW8fZr0OTndpq3NVKZdsdbfsQjZtKpSu860Bt4GfxFxWu5MRcx495gpEqgvuA1yVsYW/cQb2OLSnulp/r4jlMINIdBAFlKneQ7gRP4mWN8hDqvnrPs/gMHEMRIfrFTQTfh1EItPktc6lWDnUV23aZKmMdMqv7pnVbQtghOlYcj7CTgqa5DCjAkysi9a5kv7UEZ6h5sGPaaLsNfjmmGcC4pFs5qxsp1vU8w2F8aDhwXOzHuG9XvbxunkJ7kJ8LorYLNFv5WHhXjjQ4T2DcrAqA== 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=hrz5cnV/Qhe9Nc3OpfpmxSfEHDi+MnWCsMXC/E2KZ4E=; b=gEnJOTn0kv2qmBx3CoE6Qnr71jrlEqOx4pr8yralOK3LtiPgOjVzZ7VHYvA0fMzTSAxWXhp3gYRZZq4n+PiItthv9KgwqYhOEtBX2ehX5LGpm4g1Jp4KP48QamSWHk4CL8u3cUCnR0TfIIfqWPkNVYZIiBI7/icp48xLyEO5Uyo/zGH/4OIjpAUdPdXgLALGbwIb2Jz/40GBk2TjiJzEWYPvDNJsxvafOUOgeHsCmfv+E6HRX7FNku5zLy5xh5JspbHeFVF8Qh00v//vok+KrNjsr68hDhLTpT+uGRjW1a33sUGDVUqMSDJOIUeabBa0JYYSRGuGy+fZsKOuC9k7jQ== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by CH0P223MB0122.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:e9::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.23; Fri, 28 Feb 2025 22:29:10 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7%7]) with mapi id 15.20.8489.021; Fri, 28 Feb 2025 22:29:10 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH v2 0/8] [RFC] avtextformat: Transform text writing into an independent API Thread-Index: AQHbiZ30Xe0bEWHq7EGYl4P9/2uJG7NcvJgAgACD8lA= Date: Fri, 28 Feb 2025 22:29:10 +0000 Message-ID: References: In-Reply-To: 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_|CH0P223MB0122:EE_ x-ms-office365-filtering-correlation-id: a739ec7f-57de-4b05-0f2e-08dd58475252 x-microsoft-antispam: BCL:0; ARA:14566002|7092599003|15080799006|8060799006|19110799003|8062599003|461199028|56899033|440099028|102099032|3412199025; x-microsoft-antispam-message-info: =?us-ascii?Q?TuuG56iIzkyw1Nu+Sex7Nq0kMSFg4WsGLWgFfXM3HWT0ryCsXQmQGUxtE60N?= =?us-ascii?Q?3CT7Q4CYT7Uv7tc/6zvsyqWo4ymCTl4bCd7hPkorTlPBrCS+55En3xm5u+R2?= =?us-ascii?Q?0+nevjcUnAY99tsQ8i+UlGu6sbvfBHgicVVk18wYcl4wLmuPqHDt30AfSBi6?= =?us-ascii?Q?IeJIj2lgH9kKuzFwV3oSMOdCXthPUkkpd1DaEExlR3c4sY1D4S74d8+Knn+a?= =?us-ascii?Q?SisVgLleglc1QdOQQQP/IJi+6Y526GZ8Q1b0mIPvRY0f/ICjKJ/JFpb3nzNv?= =?us-ascii?Q?k9OwijwUs7cD//4/Mt7+vqyTVSdmlxoKxYJ8J0qevjbxP/Jgqt5YgI4PL4PV?= =?us-ascii?Q?4UmigZkDdptawv2o1xghMKATOWgNrniIZo0MQFQ+srGFtOM7r+qTCoPPd3Tn?= =?us-ascii?Q?JjukFZcUuKf9akOQv4GvVQ9az0zmdg4IvWqPqBeBhWH1xUXex+x68FcEkcnT?= =?us-ascii?Q?bE8/jZao9DQd0swaJ14rLt8sXp5hYRyWQ7K7pr4kjrUQU76DLKUOGJRk+paI?= =?us-ascii?Q?euB+7zKEop6TMQJlddcfJEJ9kQSx/m8bxss8DBRzzuu+G+WYYZVZoYcT0dkb?= =?us-ascii?Q?21wJRxIRxwJPQyMDUHqNmLYbzeS3rVniXbGOj2H/6b8bLSSKvfRzXmbguEG8?= =?us-ascii?Q?HaUjzjckJIf6haGSzGvZDQdElWu3U+MKwAuMkHaiJqEvtGbTq4TGkWrYWZFX?= =?us-ascii?Q?Y24VhdWx56EJmvVnb2eqJMydzwJVz3jqyXxQ9EJL5nGlw4WoB/VHeL1qSgKh?= =?us-ascii?Q?5l54LjSBDdT0N2GshrBcwHjJ8G5qjRgWa9Q1Bbm+lV/G2nd1d6G9eqdRJqLz?= =?us-ascii?Q?KXumuefc2+ESf80TuPaFUFSpQjC1uuGML3fgZWGQfyjkqPbi8bl8hJ2LshsJ?= =?us-ascii?Q?ZqVIr5zJhplG42a8f3+FYdE33pFfZb/aMH0n0sGtlcHCwYZaQJEHrgL093gH?= =?us-ascii?Q?WglgRv/0WaoFs+SMw4EANbECRt66RzLZoIMEAAcBlXKp2EoPBJa/5Wggoc1D?= =?us-ascii?Q?zZnaboGzCOp9+xw8CEwDR5E7lX/FwhdSellB80d29HO+M7Ipm9tEMQBGBeOw?= =?us-ascii?Q?n3qL0znuCY6lQ3jHyEZRuCIyfBgoSw=3D=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?dJWVdmxxT9AcZz3KDl5hVwNodHvIR+BUKRAmOBcd7lAMo9GIuABxwzDg+Qgz?= =?us-ascii?Q?pS/si7GuGh+KipxLTZYZNEhW8hNwFAUY5WrLK/Zvm3qp3C6hikKhuA06eBK+?= =?us-ascii?Q?cEsZrErN3/Eip1WbB6qUvScq9UZMX4cU3nyH23rBncs2A3URe+ZgIo5uBpQm?= =?us-ascii?Q?Ji2tv8gDdj/4FpS8oo9jKLxjoR6teoKdldrrj4xk5joAjue/NyLH9ogq7+y1?= =?us-ascii?Q?vVqf63BuivnwhnD7oYyvltiODuKWpmaDev1XlEz6CzIp0gtSqyQu7GVfoNoP?= =?us-ascii?Q?bVK+JkxzPTWEkEsm/W3VYQiDV/mnvOFiYpapQT2VPMqE4b2Z78bHKXUx5Xhn?= =?us-ascii?Q?LDIMKEDs5M09zwzJtxydseudQTTMzt1pGm8pgZobN9aNQuG7z772asoz7U/Z?= =?us-ascii?Q?QUJyMQbs+QjRWYiJaw1+TXwJJHCippQ+8oAUauOeucJFdvFFYjWkxi4rH+eZ?= =?us-ascii?Q?HypJwUOfyiCewGgHZ5IMJjb2AXI4oV7aag189a3xtX5CISBAENlSZturGPGg?= =?us-ascii?Q?jhYhiUCLCtkB+RseW8twiqPa+KB6AIG3KiARWM5mnFhUi/lccOXw3o4YpjJo?= =?us-ascii?Q?cpZB78ohTBU4pOOogKVKY+saNFnIxttHX6GnVbd5gFiADEprI9jwijVtNg2/?= =?us-ascii?Q?2cB4XPPAjAv7ghwp4fx+0RVENgNCslo9CbGEZ0FwIUKMRcX7YnvGkM8K0KaS?= =?us-ascii?Q?9tlpC3DKe/x6XZRJm8YSCrvlfyqCbzYrllWmrTE/pxxqmmxWfm2LJ5AJLM9U?= =?us-ascii?Q?NMOE4mFQ0RA2sZyEbInnvjQJwu7isvPmoaLh4A/dWkVAhgiF29G7oFpNaYXz?= =?us-ascii?Q?gbe1xhy7q4t56dq350JcIvxzCfFDQqJLk8IH1I1Vo6aO75EsO0ddCbrkLKHv?= =?us-ascii?Q?MJ6XlfeqQLFic5cv67TH8Y1HfKflQr8CeFjkoHh3pjRhAECs8iLRgdexL7Em?= =?us-ascii?Q?zCMHXKB9Xnqce0zO1zE+mb4UtjCqBTTbJxm+nq3xi9tubDqsQNQVjw5/H4cY?= =?us-ascii?Q?+Jm+/5LAaNfBMYkeXVlRWw+ZpYRJH/YyDj3Xb2WZ6M1kZM26ppIffHxryQEj?= =?us-ascii?Q?3yazFTozIdW7Ev4MqNDAGK6LXW52kNOzr4HgtWasxd+DbCgYZRQsU/MWJXBS?= =?us-ascii?Q?MULl5U7ildXxwOcOCnrIvc27EemhFjVG1Fzvui7q8jjTx9DqnzrY6Hh/BepK?= =?us-ascii?Q?9go0eMrMHY4XQbezInLQueUlNVknI9/NsXZ++wy7kWIbVABmoJVmQgg8kIg?= =?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: a739ec7f-57de-4b05-0f2e-08dd58475252 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Feb 2025 22:29:10.3492 (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: CH0P223MB0122 Subject: Re: [FFmpeg-devel] [PATCH v2 0/8] [RFC] avtextformat: Transform text writing into an independent API 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 > Nicolas George > Sent: Freitag, 28. Februar 2025 14:52 > To: FFmpeg development discussions and patches > Subject: Re: [FFmpeg-devel] [PATCH v2 0/8] [RFC] avtextformat: Transform > text writing into an independent API > > ffmpegagent (HE12025-02-28): > > This patchset doesn't aim to improve or change the API itself - that > would > > be a bit too much at once. > > So you asked for advice, got come counsel from me and did exactly the > opposite. Do not be surprised if the result is less than satisfactory. Hi Nicolas, I didn't do the opposite. I did what you mentioned in your last sentence as a future goal. Your immediate suggestion was to extract a "low-level writer" for JSON in avutil. This isn't reasonably possible, because the JSON writing code strongly depends on types only present in ffprobe, namely: Writer, WriterContext, Section, SECTION_ID_*, WRITER_FLAG_*, SECTION_FLAG_* A low-level writer that is independent from all of this would hardly contain much code anymore, because all of the implementation would have to remain in the ffprobe.c code which wraps it. In turn, nothing would have been won in doing so. That's why I opted for a larger step. > > * Public API isn't documented yet > > When designing a public API, the user documentation, and in particular a > quick-start guide with clear examples, should be the first thing you > show, and probably even one of the very first things you write. > > Without that, I can only repeat what I told you two days ago: > > The writers in ffprobe are an ad-hoc construction to turn the shallow > data structures produced by ffprobe into a common denominator of JSON, > XML, CSV and a few custom formats. It is not a good candidate to be > turned into an API. I have turned it into something that is generally usable in other places without being specific to ffprobe requirements. The reason why I haven't added documentation and examples yet (and marked it [RFC]) is because I'm not sure whether it's ready in this form to become a public API and that's what was asking about. If the answer would have been 'yes', then I would of course add all the things you mentioned. But from your comment I figure that it's not. I will update the patchset by moving the text format API files to fftools for local use only. Then we can refine the API there until it is in a shape for becoming a public API and you are of course welcome to join the work on it and bring in all the things that you are envisioning. 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".