videoutils: return empty if the element has no possible allowed caps
authorThiago Santos <thiagoss@osg.samsung.com>
Tue, 9 Dec 2014 19:05:27 +0000 (16:05 -0300)
committerThiago Santos <thiagoss@osg.samsung.com>
Wed, 17 Dec 2014 22:15:23 +0000 (19:15 -0300)
Instead of returning the template caps and having a failure happen
later because there are no possible caps

https://bugzilla.gnome.org/show_bug.cgi?id=741263

gst-libs/gst/video/gstvideoutilsprivate.c

index 04b7405..9174223 100644 (file)
@@ -56,9 +56,12 @@ __gst_video_element_proxy_getcaps (GstElement * element, GstPad * sinkpad,
       gst_pad_get_pad_template_caps (sinkpad);
   allowed = gst_pad_get_allowed_caps (srcpad);
 
-  if (!allowed || gst_caps_is_empty (allowed) || gst_caps_is_any (allowed)) {
+  if (!allowed || gst_caps_is_any (allowed)) {
     fcaps = templ_caps;
     goto done;
+  } else if (gst_caps_is_empty (allowed)) {
+    fcaps = gst_caps_ref (allowed);
+    goto done;
   }
 
   GST_LOG_OBJECT (element, "template caps %" GST_PTR_FORMAT, templ_caps);