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: http://upstream.rosalinux.ru/versions/ffmpeg.html 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. Cheers
signature.asc
Description: Digital signature