OSDN Git Service

Add va_MessagingInit().
authorGiuseppe <giuscri@gmail.com>
Fri, 9 Jun 2017 20:07:21 +0000 (22:07 +0200)
committerXiang, Haihao <haihao.xiang@intel.com>
Mon, 12 Jun 2017 05:55:40 +0000 (13:55 +0800)
Previous to this commit, changing verbosity level
was only possible at build time via the definition
of ENABLE_VA_MESSAGING.

Now it's possible to choose a verbosity level between
{0, 1, 2} by modifying /etc/libva.conf or by setting
the corresponding environment variable LIBVA_MESSAGING_LEVEL.

Signed-off-by: Giuseppe <giuscri@gmail.com>
va/va.c

diff --git a/va/va.c b/va/va.c
index a573bd7..0a129a9 100644 (file)
--- a/va/va.c
+++ b/va/va.c
@@ -159,6 +159,24 @@ vaMessageCallback vaSetInfoCallback(vaMessageCallback callback)
     return old_callback;
 }
 
+void va_MessagingInit()
+{
+#if ENABLE_VA_MESSAGING
+    char env_value[1024];
+
+    if (va_parseConfig("LIBVA_MESSAGING_LEVEL", &env_value[0]) == 0) {
+        if (strcmp(env_value, "0") == 0) {
+            vaSetInfoCallback(NULL);
+            vaSetErrorCallback(NULL);
+        }
+
+        if (strcmp(env_value, "1") == 0) {
+            vaSetInfoCallback(NULL);
+        }
+    }
+#endif
+}
+
 void va_errorMessage(const char *msg, ...)
 {
 #if ENABLE_VA_MESSAGING
@@ -591,6 +609,8 @@ VAStatus vaInitialize (
 
     va_FoolInit(dpy);
 
+    va_MessagingInit();
+
     va_infoMessage("VA-API version %s\n", VA_VERSION_S);
 
     vaStatus = va_getDriverName(dpy, &driver_name);