diff --git a/common/av_log.c b/common/av_log.c index a9a5171795..8b0cb09efa 100644 --- a/common/av_log.c +++ b/common/av_log.c @@ -210,7 +210,8 @@ bool print_libav_versions(struct mp_log *log, int v) mp_msg(log, v, " %-15s %d.%d.%d", l->name, V(l->buildv)); if (l->buildv != l->runv) { mp_msg(log, v, " (runtime %d.%d.%d)", V(l->runv)); - mismatch = true; + mismatch = l->buildv > l->runv || + AV_VERSION_MAJOR(l->buildv) != AV_VERSION_MAJOR(l->runv); } mp_msg(log, v, "\n"); } diff --git a/player/main.c b/player/main.c index bc6a3b1f97..70697a2a6e 100644 --- a/player/main.c +++ b/player/main.c @@ -385,19 +385,11 @@ int mp_initialize(struct MPContext *mpctx, char **options) return 1; // help if (!print_libav_versions(mp_null_log, 0)) { - // Using mismatched libraries can be legitimate, but even then it's - // a bad idea. We don't acknowledge its usefulness and stability. - // 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 " + MP_FATAL(mpctx, "\nmpv was compiled against an incompatible version of " "FFmpeg/Libav than the shared\nlibrary it is linked against. " "This is most likely a broken build and could\nresult in " - "misbehavior and crashes.\n\nmpv does not support this " - "configuration and will not run - rebuild mpv instead.\n"); + "misbehavior and crashes.\n\nThis is a broken build.\n"); return -1; }