Browse Source

hwcontext_vaapi: Set message callbacks on internally-created devices

The message callbacks are library-safe in libva2, so we can now use
them.
tags/n4.0
Mark Thompson 8 years ago
parent
commit
2708c8e8ef
1 changed files with 21 additions and 0 deletions
  1. +21
    -0
      libavutil/hwcontext_vaapi.c

+ 21
- 0
libavutil/hwcontext_vaapi.c View File

@@ -916,6 +916,22 @@ static void vaapi_device_free(AVHWDeviceContext *ctx)
av_freep(&priv);
}

#if HAVE_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_create(AVHWDeviceContext *ctx, const char *device,
AVDictionary *opts, int flags)
{
@@ -985,6 +1001,11 @@ static int vaapi_device_create(AVHWDeviceContext *ctx, const char *device,
return AVERROR(EINVAL);
}

#if HAVE_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);


Loading…
Cancel
Save