mirror of https://github.com/mpv-player/mpv
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:
parent
99699cd7ba
commit
31af37f877
|
@ -339,7 +339,7 @@ static int preinit(struct vo *vo)
|
||||||
.global = p->global,
|
.global = p->global,
|
||||||
.ra = p->ctx->ra,
|
.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;
|
return 0;
|
||||||
err_out:
|
err_out:
|
||||||
|
|
Loading…
Reference in New Issue