decodebin2: caps can be NULL
authorStefan Kost <ensonic@users.sf.net>
Tue, 8 Feb 2011 10:31:34 +0000 (12:31 +0200)
committerStefan Kost <ensonic@users.sf.net>
Tue, 8 Feb 2011 10:32:23 +0000 (12:32 +0200)
Don't use and unref NULL caps.

gst/playback/gstdecodebin2.c

index 064d62e..673e9b4 100644 (file)
@@ -3064,13 +3064,15 @@ gst_decode_chain_get_topology (GstDecodeChain * chain)
   for (; l && l->next; l = l->next) {
     GstCaps *caps = _gst_element_get_linked_caps (l->next->data, l->data);
 
-    s = gst_structure_id_empty_new (topology_structure_name);
-    gst_structure_id_set (u, topology_caps, GST_TYPE_CAPS, caps, NULL);
-    gst_caps_unref (caps);
+    if (caps) {
+      s = gst_structure_id_empty_new (topology_structure_name);
+      gst_structure_id_set (u, topology_caps, GST_TYPE_CAPS, caps, NULL);
+      gst_caps_unref (caps);
 
-    gst_structure_id_set (s, topology_next, GST_TYPE_STRUCTURE, u, NULL);
-    gst_structure_free (u);
-    u = s;
+      gst_structure_id_set (s, topology_next, GST_TYPE_STRUCTURE, u, NULL);
+      gst_structure_free (u);
+      u = s;
+    }
   }
 
   /* Caps that resulted in this chain */