From 259eda4e2f5c02eef979123903c7661b0201fb44 Mon Sep 17 00:00:00 2001 From: Aaron Boxer Date: Tue, 1 Nov 2022 14:17:50 -0400 Subject: [PATCH] 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 --- video/out/hwdec/hwdec_vaapi.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/video/out/hwdec/hwdec_vaapi.c b/video/out/hwdec/hwdec_vaapi.c index 9b1d191fb4..4b3a598ad7 100644 --- a/video/out/hwdec/hwdec_vaapi.c +++ b/video/out/hwdec/hwdec_vaapi.c @@ -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;