[FFmpeg-devel] [PATCH 14/18] lavf: move AVStream.{need_parsing, parser} to AVStreamInternal

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Fri Oct 9 22:00:17 EEST 2020


Paul B Mahol:
> On Fri, Oct 09, 2020 at 04:36:27PM +0200, Andreas Rheinhardt wrote:
>> Anton Khirnov:
>>> Those are private fields, no reason to have them exposed in a public
>>> header.
>>> ---
>>>  libavdevice/v4l2.c           |   2 +-
>>
>> This is a problem: There is no requirement to update libavdevice at the
>> same time as libavformat; one might use a newer version of libavformat
>> together with an older version of libavdevice. This effectively makes
>> the offsets of all the fields accessed by libavdevice avpriv, regardless
>> of whether they are in AVStream or AVStreamInternal.
> 
> Then same can be said for libavcodec and libavformat, thus all my
> contributions are thereby declared invalid.

If any of your contributions accesses internal fields of libavcodec in
libavformat or vice versa, then yes. Do they? AFAIK no.
The libavformat/libavdevice situation meanwhile is special, because
libavdevice uses (and is supposed to use) internal fields of another
library and even defines its own instances of objects whose sizes are
not part of ABI/API (namely AVInputFormat and AVOutputFormat). This does
not happen with the other libraries as far as I see.

- Andreas


More information about the ffmpeg-devel mailing list