[vlc-devel] [vlc-commits] Add LIBAVUTIL_VERSION_CHECK (based on LIBAVCODEC_VERSION_CHECK)

Rémi Denis-Courmont remi at remlab.net
Fri Jan 25 17:10:26 CET 2013

Le vendredi 25 janvier 2013 14:53:10, Rafaël Carré a écrit :
> > The version numbers are different because FFmpeg patches them from libav,
> > and wrongly so.
> Sorry but it's not clear at all to me what you are saying.

What I'm saying is very simple: Comparison of version numbers is well defined 
thing and FFmpeg completely violates the defintion. Don't think you can fix this 
violation with some semi-clever preprocessor trickery. This problem is also 
prevalent in strverscmp() (*), pkg-config and package managers.

VLC does not currently check the version at run-time. But it actually should 
to avoid crashing on planar audio in VLC 2.0.x. This is moot anyway because we 
do have pkg-config version checks and our downstreams also do have package 
management version checks.

When you (FFmpeg) set yourself as downstream of another project (libav) 
through merging, you have to add your own set of versions numbers. That's what 
pretty much all distributions do as well as many Linux kernel forks, by the 
way - not exactly freshly patented rocket science. You cannot just redefine the 
upstream version numbers and expect it to work.

> Is the whole FFmpeg/libav situation fucked up? yes.

And hence I ignore it. It's not my problem if FFmpeg maintainers cannot make 
up their minds between truly forking and adding proper downstream versioning.

> Do we do our best to handle the situation? I think so.

No. Your patch fixes some situations, but it leaves other unfixed, and 
potentially creates new problems (depending how libav evolves its own 

Rémi Denis-Courmont

More information about the vlc-devel mailing list