From f3602875b3255c533900df1c7bb4e78ef5e1ce08 Mon Sep 17 00:00:00 2001 From: Mark Thompson Date: Sun, 8 Oct 2017 16:54:37 +0100 Subject: [PATCH] hwcontext_vaapi: Set message callbacks on internally-created devices The message callbacks are library-safe in libva2, so we can now use them. --- libavutil/hwcontext_vaapi.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c index 2977878022..b2f2e376d8 100644 --- a/libavutil/hwcontext_vaapi.c +++ b/libavutil/hwcontext_vaapi.c @@ -1094,6 +1094,22 @@ static void vaapi_device_free(AVHWDeviceContext *ctx) av_freep(&priv); } +#if CONFIG_VAAPI_1 +static void vaapi_device_log_error(void *context, const char *message) +{ + AVHWDeviceContext *ctx = context; + + av_log(ctx, AV_LOG_ERROR, "libva: %s", message); +} + +static void vaapi_device_log_info(void *context, const char *message) +{ + AVHWDeviceContext *ctx = context; + + av_log(ctx, AV_LOG_VERBOSE, "libva: %s", message); +} +#endif + static int vaapi_device_connect(AVHWDeviceContext *ctx, VADisplay display) { @@ -1101,6 +1117,11 @@ static int vaapi_device_connect(AVHWDeviceContext *ctx, int major, minor; VAStatus vas; +#if CONFIG_VAAPI_1 + vaSetErrorCallback(display, &vaapi_device_log_error, ctx); + vaSetInfoCallback (display, &vaapi_device_log_info, ctx); +#endif + hwctx->display = display; vas = vaInitialize(display, &major, &minor);