tests: fix warning in rtpool-test
authorTim-Philipp Müller <tim.muller@collabora.co.uk>
Tue, 26 Jan 2010 18:39:45 +0000 (18:39 +0000)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Tue, 26 Jan 2010 18:39:45 +0000 (18:39 +0000)
The stream status message object may be of a non-GObject type, e.g.
G_TYPE_POINTER (see GstAudioSrc), so print that properly instead
of assuming the value holds an object.

tests/examples/streams/rtpool-test.c

index 49e29ebcb0c350a056b745b5cab70fd9f4baebcd..d612f06213498b4e44577c5a82d5df12c63c8606 100644 (file)
@@ -74,8 +74,16 @@ sync_bus_handler (GstBus * bus, GstMessage * message, GstElement * bin)
       path = gst_object_get_path_string (GST_OBJECT (owner));
       g_message ("owner:  %s", path);
       g_free (path);
-      g_message ("object: type %s, value %p", G_VALUE_TYPE_NAME (val),
-          g_value_get_object (val));
+
+      if (G_VALUE_HOLDS_OBJECT (val)) {
+        g_message ("object: type %s, value %p", G_VALUE_TYPE_NAME (val),
+            g_value_get_object (val));
+      } else if (G_VALUE_HOLDS_POINTER (val)) {
+        g_message ("object: type %s, value %p", G_VALUE_TYPE_NAME (val),
+            g_value_get_pointer (val));
+      } else {
+        g_message ("object: type %s", G_VALUE_TYPE_NAME (val));
+      }
 
       /* see if we know how to deal with this object */
       if (G_VALUE_TYPE (val) == GST_TYPE_TASK) {