[FFmpeg-devel] Upgrade Trouble

Reinhard Tartler siretart
Mon Nov 30 19:54:34 CET 2009

Uoti Urpala <uoti.urpala at pp1.inet.fi> writes:

> On Sat, 2009-11-28 at 22:20 +0100, Reinhard Tartler wrote:
>> Is my analysis correct? If yes, you can imagine that the shown testcase
>> is exactly what happens in a distro setting. Media players have been
>> built against FFmpeg 0.5, and upgrading FFmpeg packages will change the
>> system in a very similar way as described here. How can the problem
>> described in my mail avoided in an *elegant* way?
> You can add versioned symbols to future packages (or upstream FFmpeg if
> possible).

I'm no expert in that feature of ld, and I have to admit that I never
worked with that, but I'm not sure how symbol versioning could help
here.  AFAIUI, it allows retaining binary compatibility while allowing
API changes. This means in this case that libavutil would need to
provide both the old and new FIFO API with different versions.

I'm not sure if this would be acceptable for FFmpeg upstream. How long
would binary compatibility be retained?

Wouldn't it be much more practical to declare that the version bump
broke (indirectly) the binary compatibility of the intermediate
libraries (libavformat, libavcodec, etc.), and thus, bump SONAME on *all*
libraries that link against libavutil? I think that would be all
libraries but libswscale.

This would allow FFmpeg 0.5 and current trunk to be installed in
parallel and thus, make my life as packager a *lot* easier in this case.

Michael, what do you think about this change?

Reinhard Tartler, KeyID 945348A4

More information about the ffmpeg-devel mailing list