[FFmpeg-cvslog] hwcontext_vaapi: Set message callbacks on internally-created devices

Mark Thompson git at videolan.org
Sun Nov 12 04:36:20 EET 2017


ffmpeg | branch: master | Mark Thompson <sw at jkqxz.net> | Sun Oct  1 22:51:31 2017 +0100| [2708c8e8efefaad337ccab1e3bf59dcde66c6bc5] | committer: Mark Thompson

hwcontext_vaapi: Set message callbacks on internally-created devices

The message callbacks are library-safe in libva2, so we can now use
them.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2708c8e8efefaad337ccab1e3bf59dcde66c6bc5
---

 libavutil/hwcontext_vaapi.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c
index 2260518ca6..12f8ac93cd 100644
--- a/libavutil/hwcontext_vaapi.c
+++ b/libavutil/hwcontext_vaapi.c
@@ -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);



More information about the ffmpeg-cvslog mailing list