[FFmpeg-devel] [RFC v2] avdevice: lock to minor version of avformat

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Thu Mar 3 16:38:30 EET 2022


Diederick C. Niehorster:
> Hi Andreas,
> 
> On Mon, Jan 3, 2022 at 12:03 PM Diederick C. Niehorster <dcnieho at gmail.com>
> wrote:
> 
>> Hi Andreas,
>>
>> Thanks for the comments!
>>
>> On Mon, Jan 3, 2022 at 11:02 AM Andreas Rheinhardt
>> <andreas.rheinhardt at outlook.com> wrote:
>>>
>>> Diederick Niehorster:
>>>> As per discussion on the list (
>>>> https://ffmpeg.org/pipermail/ffmpeg-devel/2021-June/281513.html, see
>>>> especially
>> https://ffmpeg.org/pipermail/ffmpeg-devel/2021-June/281586.html),
>>>> to resolve the the unholy ABI-relationship between libavdevice and
>>>> libavformat and allow easier working on the part of the avdevice API
>>>> that lives in avformat, lock avdevice to a specific major and minor
>>>> version of avformat.
>>>>
>>>> Signed-off-by: Diederick Niehorster <dcnieho at gmail.com>
>>>> ---
>>>
>>> 1. If this patch intends to make it illegal to use libavdevice together
>>> with libavformat with a different minor version than it was compiled
>>> against, then the most basic requirement of this is to actually properly
>>> document it and not add stuff that might cause linking failure if used
>>> in a way that runs afoul of your undocumented new requirements.
>>
>> Absolutely, documentation is required. Should that be in (amongst
>> local to the function in the header)?
>>
> 
> I want to prepare a next version to get this discussion going. Where should
> i document that it is illegal to use libavdevice together with libavformat
> with a different minor version?
> The versioning documentation starting on line 47 in /libavutil/avutil.h?
> 

That would be the best place for it if one wanted to to lock all the
library versions together; but you only want to do it for lavf<->lavd.
Then the proper place would be in some avdevice header (naturally
version.h, but who reads that header?) with references in avutil.h as
well as some avformat header (naturally version.h, but who reads that).

- Andreas


More information about the ffmpeg-devel mailing list