summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDudemanguy <random342@airmail.cc>2022-10-26 22:21:26 -0500
committerDudemanguy <random342@airmail.cc>2022-10-28 02:36:46 +0000
commit31af37f87762e5e548fa234b30f6248d8d6c19e4 (patch)
treee87d1e09083751ae9f61244919e78c42b7d3ac55
parent99699cd7baa6be8aa949eab39a3964c102202180 (diff)
downloadmpv-31af37f87762e5e548fa234b30f6248d8d6c19e4.tar.bz2
mpv-31af37f87762e5e548fa234b30f6248d8d6c19e4.tar.xz
vo_dmabuf_wayland: load all hwdecs in preinit
vo_gpu and vo_gpu_next typically load hwdec interops on demand and vo_dmabuf_wayland naively copied this logic. This is actually wrong however since draw_frame in the VO always inherently relies on hwdec being fully loaded. This can lead to a race condition during startup which happens with --force-window=immediate. Avoid this by simply always loading all the interops. In the case of vo_dmabuf_wayland, this is not really a big deal since there's only vaapi and drmprime to load. Also fixes #10791 (the other half).
-rw-r--r--video/out/vo_dmabuf_wayland.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/video/out/vo_dmabuf_wayland.c b/video/out/vo_dmabuf_wayland.c
index 4b4c1c06dd..eb658b43d7 100644
--- a/video/out/vo_dmabuf_wayland.c
+++ b/video/out/vo_dmabuf_wayland.c
@@ -339,7 +339,7 @@ static int preinit(struct vo *vo)
.global = p->global,
.ra = p->ctx->ra,
};
- ra_hwdec_ctx_init(&p->hwdec_ctx, vo->hwdec_devs, NULL, false);
+ ra_hwdec_ctx_init(&p->hwdec_ctx, vo->hwdec_devs, NULL, true);
return 0;
err_out: