[FFmpeg-devel] FFmpeg 5.0

Anton Khirnov anton at khirnov.net
Mon Oct 31 15:03:21 EET 2022


Quoting Neal Gompa (2022-10-30 22:04:42)
> On Sun, Oct 30, 2022 at 4:10 PM Michael Niedermayer
> <michael at niedermayer.cc> wrote:
> >
> > On Sat, Oct 29, 2022 at 02:29:56PM -0400, Neal Gompa wrote:
> > > On Fri, Oct 28, 2022 at 2:23 PM Michael Niedermayer
> > > <michael at niedermayer.cc> wrote:
> > > >
> > > > Hi
> > > >
> > > > According to our
> > > > https://trac.ffmpeg.org/wiki/Downstreams
> > > >
> > > > Noone and nothing is using 5.0
> > > > should i make another release of 5.0 ?
> > > > should i move 5.0 to olddownloads ?
> > > >
> > > > does anyone use it ? plan to use it or know of someone using it ?
> > > >
> > >
> > > Fedora 36 still uses FFmpeg 5.0 as I discovered there was an ABI break
> > > that made upgrading to FFmpeg 5.1 not possible for F36. FFmpeg 5.1 is
> > > used for Fedora 37, though.
> > >
> > > This had apparently been also discovered by openSUSE some time ago:
> > > https://build.opensuse.org/package/view_file/multimedia:libs/ffmpeg-5/work-around-abi-break.patch?expand=1
> >
> > You can replace 5.0 by 5.1 but not 5.1 by 5.0, The compatibility is only
> > in one way.
> > Iam assuming here you talk about the addition of functions and there is
> > not some other issue iam not aware of.
> >
> 
> My understanding is that when using symbol versions, modifying the
> symbol table creates a breakage on its own.

Do you have some authoritative source for this claim? So far all the
arguments I've seen were along the lines of "because I say so".

> > >
> > > Do we have ABI testing in place for submitted patches? I haven't seen
> > > any evidence of CI testing of patches submitted to the mailing list,
> > > but maybe I'm looking in the wrong place? If there is, maybe we can
> > > consider adding some kind of ABI testing for release branches, using
> > > tools like libabigail[1] with abidiff[2]?
> > >
> > > [1]: https://sourceware.org/libabigail/
> > > [2]: https://www.mankier.com/1/abidiff
> >
> > iam not sure there is agreement between you and others of what is a ABI break
> > so the tool maybe will not help.
> >
> > I have generaly done testing with replacing old libraries by new when doing
> > releases. But for me a ABI break is if replacing a library by another breaks
> > some binary that is not rebuild and linked to the new lib.
> >
> > More testing is always good and welcome of course.
> >
> 
> Yeah, I think that qualifying how ABI is validated in a reproducible
> way would be useful. The abigail tooling can help here, In Fedora,
> every update runs through abigail validation too. I vaguely recall
> that it warned me when I did the update in Rawhide, which is how I wound
> up talking to Jan in openSUSE and RPM Fusion maintainers, who both
> didn't refresh FFmpeg on stable branches with 5.0 to 5.1.
> 
> It's also entirely possible that I was *too* cautious, and I'm okay
> with having a conversation that leads me to do differently in the future.

Having automated ABI testing would be definitely a good idea, not all
developers understand how ABI compatibility works and there have been
breakages (according to our definition) recently.

I also have https://github.com/lvc/abi-compliance-checker/ on my
to-look-at list, but as always time is lacking.

-- 
Anton Khirnov


More information about the ffmpeg-devel mailing list