gst_structure_to_string: display actual value of pointers
[platform/upstream/gstreamer.git] / gst / gststructure.c
index 3b4d5b8..5f7aad2 100644 (file)
@@ -1823,10 +1823,15 @@ priv_gst_structure_append_to_gstring (const GstStructure * structure,
     if (t) {
       g_string_append (s, t);
       g_free (t);
+    } else if (G_TYPE_CHECK_VALUE_TYPE (&field->value, G_TYPE_POINTER)) {
+      gpointer ptr = g_value_get_pointer (&field->value);
+
+      if (!ptr)
+        g_string_append (s, "NULL");
+      else
+        g_string_append_printf (s, "%p", ptr);
     } else {
-      if (!G_TYPE_CHECK_VALUE_TYPE (&field->value, G_TYPE_STRING) &&
-          !(G_TYPE_CHECK_VALUE_TYPE (&field->value, G_TYPE_POINTER) &&
-              g_value_get_pointer (&field->value) == NULL))
+      if (!G_TYPE_CHECK_VALUE_TYPE (&field->value, G_TYPE_STRING))
         GST_WARNING ("No value transform to serialize field '%s' of type '%s'",
             g_quark_to_string (field->name),
             _priv_gst_value_gtype_to_abbr (type));