[FFmpeg-devel] Shared libraries major version

wm4 nfxjfg at googlemail.com
Sat Nov 30 18:16:29 CET 2013

On Sat, 30 Nov 2013 13:55:15 +0100
Nicolas George <george at nsup.org> wrote:

> Fourth solution: kill the issue completely by merging all libraries
> together. I realize some people here will consider it a troll, and I
> apologize for that, but I personally think this would be the best move, even
> without the SONAME issue.

This is actually the best solution. They can stay "different" libraries
in the source tree, but beyond that it makes not much sense to keep
them separate. In particular all the different library versions are a
PITA to deal with (a user has to deal with 6 library versions,
libavcodec libavfilter libavformat libavutil libswresample libswscale,
which becomes 12 versions if you consider that linked and compiled
dynamic libraries can have different versions, and 24 if you support
Libav, which in practice most open source programs have to).

Merging them would _really_ make life easier for everyone. Those who
want to use only some FFmpeg libraries could still compile it in a way
that excludes the unneeded components (just like you can configure
libavcodec to include the h264 decoder only).

The use cases that speak _for_ the current separation is really just a
bunch of obscure fringe cases (some wants to save a megabyte by
installing only libavcodec as distro package?), and it's not really
worth worrying about these.

If you do this, be sure to use the same version numbers for pkg-config
and user-visible release versions.

More information about the ffmpeg-devel mailing list