info: allow setting of GST_DEBUG levels by name
authorTim-Philipp Müller <tim@centricular.net>
Sat, 27 Oct 2012 13:40:14 +0000 (14:40 +0100)
committerTim-Philipp Müller <tim@centricular.net>
Sat, 27 Oct 2012 13:40:14 +0000 (14:40 +0100)
e.g. GST_DEBUG=*:INFO,*src:LOG

gst/gstinfo.c

index 6c3acbb..93ab684 100644 (file)
@@ -1630,10 +1630,26 @@ parse_debug_level (gchar * str, GstDebugLevel * level)
   if (str[0] != '\0' && str[1] == '\0'
       && str[0] >= '0' && str[0] < '0' + GST_LEVEL_COUNT) {
     *level = (GstDebugLevel) (str[0] - '0');
-    return TRUE;
-  }
+  } else if (strcmp (str, "ERROR") == 0) {
+    *level = GST_LEVEL_ERROR;
+  } else if (strncmp (str, "WARN", 4) == 0) {
+    *level = GST_LEVEL_WARNING;
+  } else if (strcmp (str, "FIXME") == 0) {
+    *level = GST_LEVEL_FIXME;
+  } else if (strcmp (str, "INFO") == 0) {
+    *level = GST_LEVEL_INFO;
+  } else if (strcmp (str, "DEBUG") == 0) {
+    *level = GST_LEVEL_DEBUG;
+  } else if (strcmp (str, "LOG") == 0) {
+    *level = GST_LEVEL_LOG;
+  } else if (strcmp (str, "TRACE") == 0) {
+    *level = GST_LEVEL_TRACE;
+  } else if (strcmp (str, "MEMDUMP") == 0) {
+    *level = GST_LEVEL_MEMDUMP;
+  } else
+    return FALSE;
 
-  return FALSE;
+  return TRUE;
 }
 
 /**