From: Nicolas George <george@nsup.org>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH 08/21] fftools/ffmpeg_filter: add filtergraph private data
Date: Sat, 29 Apr 2023 18:55:02 +0200
Message-ID: <ZE1L5txllqKyTXvQ@phare.normalesup.org> (raw)
In-Reply-To: <68e51019-d01e-cb87-7fdd-5da477045085@gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 1839 bytes --]
James Almer (12023-04-29):
> History has shown that these notifications have had no effect on users, and
> even on this same project's developers. A good example was ffserver.c, which
> accessed an unholy amount of lavf private fields (both exposed in public
> headers and even internal ones), and first_dts from AVStream, which was not
> only accessed by prominent library users (One of which refuses to do things
> right and forces distros to use a patch to expose said field on their ffmpeg
> packages for the sake of supporting their application, thus making a pure
> recompilation from our tree no longer a drop-in solution on anyone's
> system), but also by ffmpeg.c, with no developer noticing it to prevent such
> code being pushed.
Since we are discussing types for the fftools, not librairies, what
people outside the project might do is not an issue
As for abuse of fields private to a part of the code by another part of
the code, I think you are somewhat rewriting history here.
The reason the fftools used to access private fields of the libraries is
not that developers neglected the rules against using them, it is that
no such rule existed when the code was written, they came later.
But if you really think we need to enforce the rule, then there still
are better solutions than using a separate structure and littering the
code with casts.
For example we can apply __attribute__((unavailable)) to the private
fields except in the part of the code where they are allowed.
(The attribute might not be supported on all compilers, but it is plenty
enough that it is supported on the compilers used by the FATE instances
that test submitted patches and the compilers used by some of us.)
This is a MUCH better solution than what is proposed here.
Regards,
--
Nicolas George
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
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:[~2023-04-29 16:55 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-27 14:25 [FFmpeg-devel] [PATCH 01/21] fftools/ffmpeg: deprecate -adrift_threshold Anton Khirnov
2023-04-27 14:25 ` [FFmpeg-devel] [PATCH 02/21] fftools/ffmpeg: reduce access to OutputStream.enc_ctx Anton Khirnov
2023-04-27 14:25 ` [FFmpeg-devel] [PATCH 03/21] fftools/ffmpeg: drop OutputStream.pict_type Anton Khirnov
2023-04-27 14:25 ` [FFmpeg-devel] [PATCH 04/21] fftools/ffmpeg: drop OutputStream.error Anton Khirnov
2023-04-27 14:25 ` [FFmpeg-devel] [PATCH 05/21] fftools/ffmpeg: move OutputStream.packets_encoded to Encoder Anton Khirnov
2023-04-27 14:25 ` [FFmpeg-devel] [PATCH 06/21] fftools/ffmpeg: drop undocumented runtime debug-setting Anton Khirnov
2023-04-27 14:25 ` [FFmpeg-devel] [PATCH 07/21] fftools/ffmpeg_filter: make ifilter_parameters_from_frame() static Anton Khirnov
2023-04-27 14:25 ` [FFmpeg-devel] [PATCH 08/21] fftools/ffmpeg_filter: add filtergraph private data Anton Khirnov
2023-04-28 8:45 ` Nicolas George
2023-04-28 12:01 ` James Almer
2023-04-28 13:52 ` Nicolas George
2023-04-29 8:46 ` Nicolas George
2023-04-29 9:07 ` Anton Khirnov
2023-04-29 9:13 ` Nicolas George
2023-04-29 12:08 ` James Almer
2023-04-29 16:55 ` Nicolas George [this message]
2023-04-27 14:25 ` [FFmpeg-devel] [PATCH 09/21] fftools/ffmpeg_filter: make graph_desc private Anton Khirnov
2023-04-28 8:46 ` Nicolas George
2023-04-27 14:25 ` [FFmpeg-devel] [PATCH 10/21] fftools/ffmpeg_filter: factorize allocating InputFilter Anton Khirnov
2023-04-27 14:25 ` [FFmpeg-devel] [PATCH 11/21] fftools/ffmpeg_filter: add InputFilter private data Anton Khirnov
2023-04-28 8:47 ` Nicolas George
2023-04-27 14:25 ` [FFmpeg-devel] [PATCH 12/21] fftools/ffmpeg_filter: keep track of filtergraph input timebase Anton Khirnov
2023-04-28 8:48 ` Nicolas George
2023-04-27 14:25 ` [FFmpeg-devel] [PATCH 13/21] fftools/ffmpeg_filter: use correct timebase for filter EOF timestamp Anton Khirnov
2023-04-27 14:25 ` [FFmpeg-devel] [PATCH 14/21] fftools/ffmpeg: stop using packet pts for decoded audio frame pts Anton Khirnov
2023-04-27 14:25 ` [FFmpeg-devel] [PATCH 15/21] fftools/ffmpeg: set AVFrame.time_base for decoded frames Anton Khirnov
2023-04-27 14:25 ` [FFmpeg-devel] [PATCH 16/21] fftools/ffmpeg: rework audio-decode timestamp handling Anton Khirnov
2023-04-28 11:42 ` Michael Niedermayer
2023-04-28 13:11 ` Anton Khirnov
2023-04-28 19:24 ` Michael Niedermayer
2023-04-29 7:32 ` [FFmpeg-devel] [PATCH] " Anton Khirnov
2023-04-27 14:25 ` [FFmpeg-devel] [PATCH 17/21] fftools/ffmpeg: stop using InputStream.pts for generating video timestamps Anton Khirnov
2023-04-27 14:25 ` [FFmpeg-devel] [PATCH 18/21] fftools/ffmpeg_filter: stop using InputStream.pts for filter EOF ts Anton Khirnov
2023-04-27 14:25 ` [FFmpeg-devel] [PATCH 19/21] fftools/ffmpeg: drop InputStream.[next_]pts Anton Khirnov
2023-04-27 14:26 ` [FFmpeg-devel] [PATCH 20/21] fftools/ffmpeg: constify packets passed to decode*() Anton Khirnov
2023-04-27 14:26 ` [FFmpeg-devel] [PATCH 21/21] fftools/ffmpeg: always use the same path for setting InputStream.[next_]dts Anton Khirnov
2023-05-01 13:45 ` [FFmpeg-devel] [PATCH 01/21] fftools/ffmpeg: deprecate -adrift_threshold Anton Khirnov
2023-05-01 13:46 ` Paul B Mahol
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=ZE1L5txllqKyTXvQ@phare.normalesup.org \
--to=george@nsup.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