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).
This commit is contained in:
Dudemanguy 2022-10-26 22:21:26 -05:00
parent 99699cd7ba
commit 31af37f877
1 changed files with 1 additions and 1 deletions

View File

@ -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: