[FFmpeg-devel] [PATCH] lavfi: get rid of FF_INTERNAL_FIELDS

Nicolas George george at nsup.org
Mon Jan 30 14:40:06 EET 2023


Anton Khirnov (12023-01-30):
> This hack is used to limit the visibility of some AVFilterLink fields to
> only certain files. Replace it with the same pattern that is used e.g.
> in lavf AVStream/FFstream and avoid exposing these internal fields in a
> public header completely.
> ---
>  libavfilter/avfilter.c       | 191 +++++++++++++++++++++--------------
>  libavfilter/avfilter.h       |  45 ---------
>  libavfilter/avfiltergraph.c  |   9 +-
>  libavfilter/buffersink.c     |   8 +-
>  libavfilter/link_internal.h  |  69 +++++++++++++
>  libavfilter/tests/filtfmts.c |   9 +-
>  6 files changed, 196 insertions(+), 135 deletions(-)
>  create mode 100644 libavfilter/link_internal.h

This makes the code more verbose, less readable and harder to maintain,
so no thanks.

If you find a solution that does not require us to remember which field
is private and with field is public to prefix them with link-> or li->,
it would not have this issue; avoiding this requirement was a prime goal
of the current implementation. At least you did not add an indirection
like on some other places.

-- 
  Nicolas George


More information about the ffmpeg-devel mailing list