diff options
author | der richter <der.richter@gmx.de> | 2024-02-18 17:43:30 +0100 |
---|---|---|
committer | der richter <der.richter@gmx.de> | 2024-02-20 20:42:02 +0100 |
commit | 0e441525cfc2c0d56b6d4a5fc67016d7e29d1b2c (patch) | |
tree | 535c3b5116e6e1a9066597586c62b8a2d05ca388 /video/out | |
parent | 4a563a6390e72b9ea13a9cd72d0eb00b70ea2b01 (diff) | |
download | mpv-0e441525cfc2c0d56b6d4a5fc67016d7e29d1b2c.tar.bz2 mpv-0e441525cfc2c0d56b6d4a5fc67016d7e29d1b2c.tar.xz |
vo: make libmpv last in the auto-probing order for cocoa-cb only
this partially reverts commit 7b5a258. back then the only properly
working vo on macOS was cocoa-cb (libmpv). it would always use the
deprecated opengl cocoa backend or no vo at all. because of that libmpv
was moved to the top of the auto-probing order, so the preferred vo
was used on macOS only.
we now have a working vulkan gpu/gpu-next backend on macOS which should
be the new default vo. though disabling the auto-probing again for
libmpv would probably cause the undesired behaviour on macOS that
cocoa-cb would never be auto selected again. especially if not build
with vulkan support or without vulkan driver on macOS, this would lead
to no video output at all. so instead of completely reverting the
mentioned commit, we instead move libmpv to the bottom of the
auto-probing order but only auto select it when mpv was built with
cocoa-cb support. this restores the previous behaviour on all other
platforms besides macOS, but also lets us auto select cocoa-cb if
supported.
Diffstat (limited to 'video/out')
-rw-r--r-- | video/out/vo.c | 2 | ||||
-rw-r--r-- | video/out/vo_libmpv.c | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/video/out/vo.c b/video/out/vo.c index 2400f8de61..08a0a9f88b 100644 --- a/video/out/vo.c +++ b/video/out/vo.c @@ -69,7 +69,6 @@ extern const struct vo_driver video_out_kitty; static const struct vo_driver *const video_out_drivers[] = { - &video_out_libmpv, #if HAVE_ANDROID &video_out_mediacodec_embed, #endif @@ -99,6 +98,7 @@ static const struct vo_driver *const video_out_drivers[] = #if HAVE_X11 &video_out_x11, #endif + &video_out_libmpv, &video_out_null, // should not be auto-selected &video_out_image, diff --git a/video/out/vo_libmpv.c b/video/out/vo_libmpv.c index 8a686022a1..942882ca9c 100644 --- a/video/out/vo_libmpv.c +++ b/video/out/vo_libmpv.c @@ -705,6 +705,11 @@ static void uninit(struct vo *vo) static int preinit(struct vo *vo) { +#if !HAVE_MACOS_COCOA_CB + if (vo->probing) + return -1; +#endif + struct vo_priv *p = vo->priv; struct mpv_render_context *ctx = |