gint total_ls;
GstCaps *metadata;
- GstCaps *tags;
+ GstCaps *streaminfo;
GstCaps *caps;
};
static void
-print_metadata (GstCaps *caps)
+print_caps (GstCaps *caps)
{
- g_print (" metadata:\n");
- if (!caps || caps->properties == NULL) {
- g_print (" none\n");
- return;
- }
-
+ if (caps == NULL) return;
if (!strcmp (gst_caps_get_mime (caps), "application/x-gst-metadata") ||
- !strcmp (gst_caps_get_mime (caps), "application/x-gst-tags"))
+ !strcmp (gst_caps_get_mime (caps), "application/x-gst-streaminfo"))
{
GstProps *props = caps->properties;
- GList *walk = props->properties;
+ GList *walk;
+ /* ugly hack, but ok for now. If needed, fix by individual strcmp */
+ g_print (" %s:\n", gst_caps_get_mime (caps) + 18);
+ if (props == NULL) {
+ g_print (" none\n");
+ return;
+ }
+ walk = props->properties;
while (walk) {
GstPropsEntry *entry = (GstPropsEntry *) walk->data;
}
}
else {
- g_print (" unkown metadata type\n");
+ g_print (" unkown caps type\n");
}
}
{
const GstFormat *formats;
+ /* FIXME: need a better name here */
g_print (" stream info:\n");
/* report info in all supported formats */
g_object_get_property (G_OBJECT (origin), pspec->name, &value);
context->metadata = g_value_peek_pointer (&value);
}
- else if (!strcmp (pspec->name, "tags")) {
+ else if (!strcmp (pspec->name, "streaminfo")) {
g_value_init (&value, pspec->value_type);
g_object_get_property (G_OBJECT (origin), pspec->name, &value);
- context->tags = g_value_peek_pointer (&value);
+ context->streaminfo = g_value_peek_pointer (&value);
} else if (!strcmp (pspec->name, "caps")) {
if (GST_IS_PAD (origin) && GST_PAD (origin) == context->pad) {
g_value_init (&value, pspec->value_type);
if (count > 10) break;
}
- print_metadata (context->tags);
- print_metadata (context->metadata);
+ print_caps (context->metadata);
+ print_caps (context->streaminfo);
print_format (context->caps);
print_lbs_info (context, stream);