From 5f635f30426b22a970521cb5ca8656128e2d1a8d Mon Sep 17 00:00:00 2001 From: sudacode Date: Tue, 3 Nov 2026 23:49:06 -0800 Subject: [PATCH] fix(e2e): disable mpv direct rendering on macOS to avoid loadfile hang - Pass `--vd-lavc-dr=no` alongside `--vo=libmpv` on darwin - cocoa-cb answers DR image requests only from its main queue, which can stall on CI runners and freeze mpv's core and IPC with no timeout --- e2e/harness/mpv.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/e2e/harness/mpv.ts b/e2e/harness/mpv.ts index 3a92be0f..2345d501 100644 --- a/e2e/harness/mpv.ts +++ b/e2e/harness/mpv.ts @@ -21,7 +21,10 @@ function videoOutputArgs(display: E2eDisplay): string[] { // gpu-next's Vulkan path (libplacebo over MoltenVK) segfaults on the first frame // on GitHub's paravirtual macOS GPU with libplacebo 7.387. `--vo=libmpv` is mpv's // cocoa-cb OpenGL output, which avoids it and still opens the window the overlay tracks. - if (process.platform === 'darwin') return ['--vo=libmpv']; + // Each new decoder asks that render thread for a direct-rendering image and waits with no + // timeout. cocoa-cb only answers from its main queue, which can stall on this runner, so a + // `loadfile` could freeze mpv's core and its IPC for good. `--vd-lavc-dr=no` skips the request. + if (process.platform === 'darwin') return ['--vo=libmpv', '--vd-lavc-dr=no']; return []; }