From: Andrew Sayers <ffmpeg-devel@pileofstuff.org>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH v4 2/3] lavu/opt: Mention AV_OPT_FLAG_POST_INIT_SETTABLE_PARAM in more places
Date: Tue, 2 Jul 2024 11:49:00 +0100
Message-ID: <ZoPbHEteQIJ1BeOP@andrews-2024-laptop.sayers> (raw)
In-Reply-To: <171991538463.21847.8552188356995036725@lain.khirnov.net>
On Tue, Jul 02, 2024 at 12:16:24PM +0200, Anton Khirnov wrote:
> Quoting Andrew Sayers (2024-07-02 12:13:16)
> > On Tue, Jul 02, 2024 at 11:52:29AM +0200, Anton Khirnov wrote:
> > > Quoting Andrew Sayers (2024-07-02 11:08:39)
> > > > An inattentive user might not see the explanation at the top of this file.
> > > > Paste the explanation to all the places they might see it.
> > >
> > > Duplication is bad, and the premise doesn't work anyway. Inattentive
> > > users will happily ignore arbitrary amounts of text. In fact the more
> > > text there is, the more of it they will ignore.
> > > Meanwhile you make actual information harder to find for people who
> > > actually bother to read.
> >
> > That's a reasonable argument, but incompatible with your other one[1].
> > If users are inattentive and will ignore arbitrary amounts of text,
> > the explanation needs to go in the one place they have to look (the
> > macro name).
>
> I don't understand your point. In my other email I'm objecting to
> breaking API for flimsy reasons, how is that related to documentation?
I could be wrong, but I think this points to a fundamental issue...
We normally talk about ABI (binary interface) and API (programming interface),
then say "documentation" as if that's some separate thing. It would have been
better if programmers had used a term like "ADI" (developer interface) instead,
but the world didn't go that way.
API is as intermingled with documentation as it is with ABI, and drawing a
bright line between the two just causes problems. In this case, spelling it
"AV_OPT_FLAG_RUNTIME_PARAM" isn't API, it's documentation. The compiler would
work just the same if it had been called e.g. "AV_OPT_FLAG_15", the name
is just there for us humans.
This patch is about fixing the documentation, so the primary justification is
that the old spelling mislead humans. Breaking the API is a side-effect, and
I'd argue it's a net benefit, because it nudges external devs to fix their code.
You can make the opposite argument, but either way it's incidental to the main
goal of picking a spelling that unambiguously documents what the macro does.
_______________________________________________
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".
next prev parent reply other threads:[~2024-07-02 10:49 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-05 13:18 [FFmpeg-devel] [PATCH] lavu/opt: Mention that AVOptions is not reentrant Andrew Sayers
2024-06-05 13:34 ` Paul B Mahol
2024-06-05 13:43 ` Andrew Sayers
2024-06-05 13:46 ` Ronald S. Bultje
2024-06-05 14:22 ` Andrew Sayers
2024-06-05 23:17 ` Michael Niedermayer
2024-06-06 8:29 ` Andrew Sayers
2024-06-06 14:24 ` Michael Niedermayer
2024-06-06 15:16 ` Andrew Sayers
2024-06-06 15:21 ` Andreas Rheinhardt
2024-06-06 15:43 ` Andrew Sayers
2024-06-05 13:50 ` Paul B Mahol
2024-06-06 16:02 ` [FFmpeg-devel] [PATCH v2] lavu/opt: Discuss AV_OPT_FLAG_RUNTIME_PARAM more explicitly Andrew Sayers
2024-06-16 16:04 ` Stefano Sabatini
2024-06-16 17:08 ` [FFmpeg-devel] [PATCH v3 0/3] s/RUNTIME/POST_INIT_SETTABLE/ Andrew Sayers
2024-06-16 17:08 ` [FFmpeg-devel] [PATCH v3 1/3] lavu/opt: Rename AV_OPT_FLAG_RUNTIME_PARAM to ...POST_INIT_SETTABLE_PARAM Andrew Sayers
2024-07-01 22:33 ` Stefano Sabatini
2024-07-02 3:58 ` Zhao Zhili
2024-07-06 9:47 ` Stefano Sabatini
2024-07-02 9:08 ` [FFmpeg-devel] [PATCH v4 0/3] s/RUNTIME/POST_INIT_SETTABLE/ Andrew Sayers
2024-07-02 9:08 ` [FFmpeg-devel] [PATCH v4 1/3] lavu/opt: Rename AV_OPT_FLAG_RUNTIME_PARAM to ...POST_INIT_SETTABLE_PARAM Andrew Sayers
2024-07-02 9:49 ` Anton Khirnov
2024-07-06 9:50 ` Stefano Sabatini
2024-07-02 9:08 ` [FFmpeg-devel] [PATCH v4 2/3] lavu/opt: Mention AV_OPT_FLAG_POST_INIT_SETTABLE_PARAM in more places Andrew Sayers
2024-07-02 9:52 ` Anton Khirnov
2024-07-02 10:13 ` Andrew Sayers
2024-07-02 10:16 ` Anton Khirnov
2024-07-02 10:49 ` Andrew Sayers [this message]
2024-07-02 9:08 ` [FFmpeg-devel] [PATCH v4 3/3] all: s/AV_OPT_FLAG_RUNTIME_PARAM/AV_OPT_FLAG_POST_INIT_SETTABLE_PARAM/g Andrew Sayers
2024-07-06 9:37 ` [FFmpeg-devel] [PATCH v4 0/3] s/RUNTIME/POST_INIT_SETTABLE/ Stefano Sabatini
2024-07-06 10:40 ` Paul B Mahol
2024-07-06 16:49 ` Michael Niedermayer
2024-07-06 18:03 ` Andrew Sayers
2024-07-06 10:41 ` Andrew Sayers
2024-06-16 17:08 ` [FFmpeg-devel] [PATCH v3 2/3] lavu/opt: Mention AV_OPT_FLAG_POST_INIT_SETTABLE_PARAM in more places Andrew Sayers
2024-06-16 17:08 ` [FFmpeg-devel] [PATCH v3 3/3] all: s/AV_OPT_FLAG_RUNTIME_PARAM/AV_OPT_FLAG_POST_INIT_SETTABLE_PARAM/g Andrew Sayers
2024-06-16 17:22 ` [FFmpeg-devel] [PATCH v3 0/3] s/RUNTIME/POST_INIT_SETTABLE/ Paul B Mahol
2024-07-01 22:26 ` Stefano Sabatini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZoPbHEteQIJ1BeOP@andrews-2024-laptop.sayers \
--to=ffmpeg-devel@pileofstuff.org \
--cc=ffmpeg-devel@ffmpeg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git