basesrc: handle NULL from getcaps
authorWim Taymans <wim.taymans@collabora.co.uk>
Thu, 19 Jan 2012 14:17:58 +0000 (15:17 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Thu, 19 Jan 2012 14:17:58 +0000 (15:17 +0100)
If the getcaps functions returns NULL, return FALSE from the CAPS query.

libs/gst/base/gstbasesrc.c

index bc37bf1..a127f4e 100644 (file)
@@ -1178,10 +1178,13 @@ gst_base_src_default_query (GstBaseSrc * src, GstQuery * query)
       bclass = GST_BASE_SRC_GET_CLASS (src);
       if (bclass->get_caps) {
         gst_query_parse_caps (query, &filter);
-        caps = bclass->get_caps (src, filter);
-        gst_query_set_caps_result (query, caps);
-        gst_caps_unref (caps);
-        res = TRUE;
+        if ((caps = bclass->get_caps (src, filter))) {
+          gst_query_set_caps_result (query, caps);
+          gst_caps_unref (caps);
+          res = TRUE;
+        } else {
+          res = FALSE;
+        }
       } else
         res = FALSE;
       break;