tools: device-monitor: Print string property as-is without serialize
authorSeungha Yang <seungha@centricular.com>
Fri, 6 May 2022 19:43:49 +0000 (04:43 +0900)
committerSeungha Yang <seungha@centricular.com>
Fri, 6 May 2022 19:43:49 +0000 (04:43 +0900)
gst_value_serialize() does more than what's needed to printf-ing
especially when given GValue is already string. Just print string
value as-is without gst_value_serialize() to avoid unreadable
string print, especially for multi-bytes character encoding cases.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2387>

subprojects/gst-plugins-base/tools/gst-device-monitor.c

index ef57acc..880889e 100644 (file)
@@ -144,6 +144,8 @@ print_structure_field (GQuark field_id, const GValue * value,
   if (G_VALUE_HOLDS_UINT (value)) {
     val = g_strdup_printf ("%u (0x%08x)", g_value_get_uint (value),
         g_value_get_uint (value));
+  } else if (G_VALUE_HOLDS_STRING (value)) {
+    val = g_value_dup_string (value);
   } else {
     val = gst_value_serialize (value);
   }