Bug#790446: mpv: Warning about mismatch between build and run-time ffmpeg libraries

Alessandro Ghedini ghedo at debian.org
Tue Jul 7 15:26:43 UTC 2015

Control: forwarded -1 https://github.com/mpv-player/mpv/issues/2110

Sorry for the delay.

On mer, lug 01, 2015 at 10:35:13 +0200, Andreas Cadhalpun wrote:
> Hi Guillem,
> On 30.06.2015 23:14, Andreas Cadhalpun wrote:
> > On 30.06.2015 21:40, Guillem Jover wrote:
> >> Perhaps, but the comment at
> >> <http://sources.debian.net/src/mpv/0.9.2-1%2Bffmpeg/common/av_log.c/#L229>
> >> was not very soothing, so that was one additional reason for the bug. :)
> > 
> > Hmm, this comment is indeed a bit worrisome.
> > But I'm not sure I understand the reasoning given there. As far as I know
> > the accessor functions are only necessary for API that is not present
> > in Libav (in order to be ABI compatible after Libav merges, as the comment
> > says). So whether or not one uses the accessors shouldn't make a difference
> > for compatibility with Libav.
> I've investigated this a bit more and it seems that the only potentially
> problematic FFmpeg-only API used by mpv is AVFrame->metadata, which mpv
> accesses via av_frame_get_metadata. [1]
> Thus I think the comment is just wrong and the warning should be removed.

If I understand the comment correctly, the problem isn't so much ffmpeg-only
APIs like ->metadata, but the fact that mpv doesn't use accessor functions for
struct fields provided by ffmpeg to maintain ABI compatibility because libav
doesn't have those functions (but it still has the structs).

IMO the warning can be removed in the Debian packages because it's fairly
annoying and mostly useless (it's not like Debian users can do anything about
it besides recompiling the package), but maybe we should better investigate
this alleged ABI compatibility problem in ffmpeg.

For example the upstream-tracker thingy shows several ABI changes introduced in
ffmpeg 2.5 (e.g. new fields in the middle of structs) without a SONAME bump:

The mpv Debian package could also start using the accessors that ffmpeg
provides but only when built with ffmpeg (which should hopefully become the
default soonish), but tracking down where these accessors should be used is
probably going to be a bit of a pain.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20150707/662873f9/attachment.sig>

More information about the pkg-multimedia-maintainers mailing list