diff options
author | Dudemanguy <random342@airmail.cc> | 2022-10-26 22:21:26 -0500 |
---|---|---|
committer | Dudemanguy <random342@airmail.cc> | 2022-10-28 02:36:46 +0000 |
commit | 31af37f87762e5e548fa234b30f6248d8d6c19e4 (patch) | |
tree | e87d1e09083751ae9f61244919e78c42b7d3ac55 /video/out/vo_dmabuf_wayland.c | |
parent | 99699cd7baa6be8aa949eab39a3964c102202180 (diff) | |
download | mpv-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).
Diffstat (limited to 'video/out/vo_dmabuf_wayland.c')
-rw-r--r-- | video/out/vo_dmabuf_wayland.c | 2 |
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: |