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 D887548A21 for ; Tue, 23 Apr 2024 17:08:55 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3849068D3A3; Tue, 23 Apr 2024 20:08:52 +0300 (EEST) Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [217.70.183.198]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EDBFA68CFF4 for ; Tue, 23 Apr 2024 20:08:45 +0300 (EEST) Received: by mail.gandi.net (Postfix) with ESMTPSA id 01638C0002 for ; Tue, 23 Apr 2024 17:08:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc; s=gm1; t=1713892125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=CBR451+j24Ky/An1UTZ0u9NPa3LFziepl+mY/c5lvZc=; b=McrwxPzktIpBozvATgMdmBYQfuUYuSey3y1PgE4uHjtXzPvvUUnSm2R6Ja5GCRHrUIQpVQ 8jWeEWiK8rQtD7xzuW4DN1W6eS+xNUU3NsbbAHuWRdbFNn5SBIm2dOfVJWnBFXZd0J/9YH NTVCgVfRNT9mD+BdklFqXIAha92D023Lj2ffzCWcb2dLyK/jZfwLuxa0LNguGMebDK/HYZ 5zjjrE6/LG5NvdpfIxkf01gfV8l2BNH2rQU/wmevkra18rOAkZDzXoycDT9Pi/WVdYrVs5 IwTdkOQyFzUci/2FLASg3YZMlipAWgAZhANyQ+dy1wDMiPwfWr/igE57BsYbjQ== Date: Tue, 23 Apr 2024 19:08:43 +0200 From: Michael Niedermayer To: FFmpeg development discussions and patches Message-ID: <20240423170843.GK6420@pb2> References: <20240422120925.380253-1-ffmpeg-devel@pileofstuff.org> <171386408794.22242.4320691091356910947@lain.khirnov.net> <171386667402.5069.14623062002271611181@lain.khirnov.net> <20240423111552.GI6420@pb2> <20240423111828.GJ6420@pb2> MIME-Version: 1.0 In-Reply-To: X-GND-Sasl: michael@niedermayer.cc Subject: Re: [FFmpeg-devel] [PATCH v2] lavu/opt: Clarify that AVOptions is not indended for general use 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: multipart/mixed; boundary="===============1063190682211506803==" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --===============1063190682211506803== Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="cFIToz9yQVpDe3Tp" Content-Disposition: inline --cFIToz9yQVpDe3Tp Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Apr 23, 2024 at 12:54:53PM +0100, Andrew Sayers wrote: > On Tue, Apr 23, 2024 at 01:18:28PM +0200, Michael Niedermayer wrote: > > On Tue, Apr 23, 2024 at 01:15:52PM +0200, Michael Niedermayer wrote: > > > On Tue, Apr 23, 2024 at 11:10:43AM +0100, Andrew Sayers wrote: > > > > On Tue, Apr 23, 2024 at 12:04:34PM +0200, Anton Khirnov wrote: > > > > > Quoting Andrew Sayers (2024-04-23 11:51:00) > > > > > > On Tue, Apr 23, 2024 at 11:21:27AM +0200, Anton Khirnov wrote: > > > > > > > > lavu/opt: Clarify that AVOptions is not indended for genera= l use > > > > > > >=20 > > > > > > > They _are_ intended for general use though. > > > > > >=20 > > > > > > In that case I'm confused... > > > > > >=20 > > > > > > Let's say I make a desktop app to transcode videos. Obviously = I would use > > > > > > AVOptions to display configuration options for different encode= rs. And it's > > > > > > possible to create AVOptions objects for my UI. But how strong= ly is that use > > > > > > case recommended? > > > > > >=20 > > > > > > To provide a particularly difficult example - let's say I want = to let the user > > > > > > choose between interface themes, and I want to show both some t= ext and a > > > > > > picture of the theme. AVOption doesn't include a "text + pictu= re" option, > > > > > > so how would I extend it to meet my needs? > > > > >=20 > > > > > If they fit your use case, then use them, otherwise don't - that'= s true > > > > > for pretty much all APIs we provide. > > > >=20 > > > > Ah ok, so how about if I changed "intended" to "optimized" in the s= ubject? > > >=20 > > > If FFmpeg which is a multimedia tool in no place needs or wants to st= ore > > > pictures through its option API in a way not curently supported. > > > I would say thats not going to qualify as "general use" outside speci= alized > > > software thats already dealing with a lot of pictures > > >=20 > > > still you certainly can handle binary data (like a bitmap picture) th= rough > > > AVOption > >=20 > > And if you disagree, which you probably do :) > > send a patch to improve AVOption to cover more general use >=20 > Not sure if that's aimed at the real me, or the hypothetical me that want= s to > make a desktop app. The hypothetical me wants not to throw away a week's= work > because he did everything through AVOptions then came across some edge ca= se > that doesn't fit into the AVOptions model. The real me doesn't want to t= hrow > away a week's work because I avoided AVOptions then found some bit of int= erface > that needs me to express my program in an AVOptions-compatible way. Neit= her of > us mind what the answer is, so long as it's written down somewhere we wou= ld > spot during the design stage. >=20 > It sounds like the consensus is that people are *allowed* to implement th= eir > own AVOption interfaces if they want to, but that there's no expectation = for > them to do so unless they're working on FFmpeg itself. That suggests the= body > of the patch is fine, but the subject needs improvement? >=20 > How about 'Clarify that "Implementing AVOptions" is addressed to people w= orking > on FFmpeg itself'? I think the way i would put it is: AVOption is intended for general use. If you have a use case that it cannot be used for, a clean patch to improve= it is welcome. What i do not like is, taking a limitation (noone seems to have hit before) and documenting it as if it was intended. thx [...] --=20 Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB While the State exists there can be no freedom; when there is freedom there will be no State. -- Vladimir Lenin --cFIToz9yQVpDe3Tp Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iF0EABEIAB0WIQSf8hKLFH72cwut8TNhHseHBAsPqwUCZifrEQAKCRBhHseHBAsP q85rAKCL1gwS+Nji2jUyB59o3f7BT1ryzwCggCslVkh+gCHjIk29aawdNBagZbI= =rxhV -----END PGP SIGNATURE----- --cFIToz9yQVpDe3Tp-- --===============1063190682211506803== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ 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". --===============1063190682211506803==--