hwdec_vaapi: only set VADisplay resource if entire init process has succeeded

This resource is used by dmabuf_waland to decide if it should manage
vaapi buffers, so it should not be set if vaapi init has failed
This commit is contained in:
Aaron Boxer 2022-11-01 14:17:50 -04:00 committed by Dudemanguy
parent 25906514c3
commit 259eda4e2f
1 changed files with 4 additions and 4 deletions

View File

@ -52,11 +52,8 @@ static VADisplay *create_x11_va_display(struct ra *ra)
static VADisplay *create_wayland_va_display(struct ra *ra)
{
struct wl_display *wl = ra_get_native_resource(ra, "wl");
VADisplay rc = wl ? vaGetDisplayWl(wl) : NULL;
if (rc)
ra_add_native_resource(ra, "VADisplay", rc);
return rc;
return wl ? vaGetDisplayWl(wl) : NULL;
}
#endif
@ -174,6 +171,9 @@ static int init(struct ra_hwdec *hw)
return -1;
}
// it's now safe to set the display resource
ra_add_native_resource(hw->ra, "VADisplay", p->display);
p->ctx->hwctx.hw_imgfmt = IMGFMT_VAAPI;
p->ctx->hwctx.supported_formats = p->formats;
p->ctx->hwctx.driver_name = hw->driver->name;