tools: avoid using pad caps
authorWim Taymans <wim.taymans@collabora.co.uk>
Mon, 9 May 2011 08:54:10 +0000 (10:54 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Mon, 9 May 2011 08:54:10 +0000 (10:54 +0200)
Avoid directly accessing the pad caps, use gst_pad_get_current_caps() instead.

gst/gstutils.c
tools/gst-inspect.c
tools/gst-xmlinspect.c

index 5013fdd..559da70 100644 (file)
@@ -758,7 +758,7 @@ gst_print_pad_caps (GString * buf, gint indent, GstPad * pad)
 {
   GstCaps *caps;
 
-  caps = pad->caps;
+  caps = gst_pad_get_current_caps (pad);
 
   if (!caps) {
     string_append_indent (buf, indent);
@@ -770,6 +770,8 @@ gst_print_pad_caps (GString * buf, gint indent, GstPad * pad)
     s = gst_caps_to_string (caps);
     g_string_append (buf, s);
     g_free (s);
+
+    gst_caps_unref (caps);
   }
 }
 
index 8f07738..8f8e00f 100644 (file)
@@ -793,6 +793,7 @@ print_pad_info (GstElement * element)
   pads = element->pads;
   while (pads) {
     gchar *name;
+    GstCaps *caps;
 
     pad = GST_PAD (pads->data);
     pads = g_list_next (pads);
@@ -854,9 +855,11 @@ print_pad_info (GstElement * element)
     if (pad->padtemplate)
       n_print ("    Pad Template: '%s'\n", pad->padtemplate->name_template);
 
-    if (pad->caps) {
+    caps = gst_pad_get_current_caps (pad);
+    if (caps) {
       n_print ("    Capabilities:\n");
-      print_caps (pad->caps, "      ");
+      print_caps (caps, "      ");
+      gst_caps_unref (caps);
     }
   }
 }
index c70c096..acf984a 100644 (file)
@@ -550,6 +550,8 @@ print_element_info (GstElementFactory * factory)
 
     pads = element->pads;
     while (pads) {
+      GstCaps *caps;
+
       pad = GST_PAD (pads->data);
       pads = g_list_next (pads);
 
@@ -592,8 +594,10 @@ print_element_info (GstElementFactory * factory)
 
       PUT_END_TAG (3, "implementation");
 
-      if (pad->caps) {
-        print_caps (pad->caps, 3);
+      caps = gst_pad_get_current_caps (pad);
+      if (caps) {
+        print_caps (caps, 3);
+        gst_caps_unref (caps);
       }
       PUT_END_TAG (2, "pad");
     }