[FFmpeg-devel] Compatibility of different library versions (was: avformat: Add internal flags for AV(In|Out)putFormat)

James Almer jamrial at gmail.com
Thu Jun 17 01:45:06 EEST 2021


On 6/16/2021 7:14 PM, Nicolas George wrote:
> James Almer (12021-06-16):
>> I'm not sure what you mean. I would not be against it, it's just that if we
>> were to merge lavf and lavd, this wouldn't even be something to consider.
> 
> Have you not read the discussion? The benefits go way beyond the tiny
> lavf-lavd issues.
> 
>>> and why you are
>>> against for other libraries.
>> Can you be more specific?
> 
> When I say "I am for X" and you reply "I am not against Y", with Y⊂X and
> Y≠X, you are implicitly saying that you are against X∖Y. I proposed to
> restrict to matching versions on all libraries, you replied you were not
> against restricting for lavf-lavd, stating implicitly that you are
> against it for the libraries.

Considering this discussion started about lavd and lavf, and at no point 
in your email you said "all libraries" when suggesting version locking 
anything (In fact, you mistakenly wrote "only versions from the same 
version"), i figured it would be obvious i was commenting specifically 
about lavd<->lavf.

> 
> So, I ask explicitly: are you against restricting to matching versions
> for all the libraries? If so, then why?

Of course i am against doing so for all libraries. They are already 
locked at the major soname level as required, and that's enough.
Lavd as is is locking certain lavf's public structs and making it 
impossible to add new fields to them, which constricts development 
considerably, so making their locking strict to at least the minor 
soname level is a very good idea. But this isn't an issue at all for 
other libraries.
I can add new fields to any public lavc struct, compile it and have a 
lavf that was linked to an old lavc use it at runtime, and it will work 
just fine.
I see no benefit to your suggestion that's worth removing such freedom 
from the end user.


More information about the ffmpeg-devel mailing list