summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/gst-discoverer.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/tools/gst-discoverer.c b/tools/gst-discoverer.c
index c28ee648f..7cdf2bf5f 100644
--- a/tools/gst-discoverer.c
+++ b/tools/gst-discoverer.c
@@ -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);