discoverer: Tags now contain GstSamples instead of GstBuffers
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Tue, 17 Apr 2012 15:31:24 +0000 (17:31 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Tue, 17 Apr 2012 15:32:01 +0000 (17:32 +0200)
tools/gst-discoverer.c

index c28ee64..7cdf2bf 100644 (file)
@@ -319,10 +319,16 @@ print_tag_each (GQuark field_id, const GValue * value, gpointer user_data)
   if (G_VALUE_HOLDS_STRING (value))
     ser = g_value_dup_string (value);
   else if (GST_VALUE_HOLDS_BUFFER (value)) {
-    GstBuffer *buf = gst_value_get_buffer (value);
+    GstSample *smpl = gst_value_get_sample (value);
+    GstBuffer *buf = gst_sample_get_buffer (smpl);
+    GstCaps *caps = gst_sample_get_caps (smpl);
+    gchar *caps_str;
+
+    caps_str = caps ? gst_caps_to_string (caps) : g_strdup ("unknown");
     ser =
-        g_strdup_printf ("<GstBuffer [%" G_GSIZE_FORMAT " bytes]>",
-        gst_buffer_get_size (buf));
+        g_strdup_printf ("<GstSample [%" G_GSIZE_FORMAT " bytes, type %s]>",
+        gst_buffer_get_size (buf), caps_str);
+    g_free (caps_str);
   } else
     ser = gst_value_serialize (value);