From 9d4f16b10def386ca6c2b18f2e0e5850d619230b Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 26 Sep 2019 19:58:17 +0200 Subject: [PATCH] player: document FFmpeg ABI rules we intentionally violate That's just a single one. It used to be more, when FFmpeg still required using pointless accessors for tons of fields, which historically broke compatibility with Libav. (I think I wrote the patch to deprecate that crap and to allow direct access myself.) There may be more exceptions, but I forgot about them. Another point is that we don't really trust FFmpeg ABI stability, though. --- player/main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/player/main.c b/player/main.c index 04acf3cc72..4ab25a942c 100644 --- a/player/main.c +++ b/player/main.c @@ -388,6 +388,8 @@ int mp_initialize(struct MPContext *mpctx, char **options) // Distro maintainers who patch this out should be aware that mpv // intentionally ignores ABI in some places where it's not possible to // get by without violating it. + // Known API/ABI violations: + // - AVIOContext.bytes_read (demux_lavf.c) print_libav_versions(mpctx->log, MSGL_FATAL); MP_FATAL(mpctx, "\nmpv was compiled against a different version of " "FFmpeg/Libav than the shared\nlibrary it is linked against. "