gdpdepay: don't allocation query if caps aren't fixed
authorVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Mon, 29 Jan 2018 11:50:36 +0000 (12:50 +0100)
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Wed, 31 Jan 2018 13:03:36 +0000 (14:03 +0100)
When querying downstream for allocation, and the source caps hasn't
set its caps, using ANY by default, it raises a critical message in
console:

CRITICAL **: gst_video_info_from_caps: assertion 'gst_caps_is_fixed (caps)' failed

This patch bails out decide_allocation() if the caps aren't fixed.

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

gst/gdp/gstgdpdepay.c

index 4d2093870a11f65ad3f794a05b92a3a2d2d73770..750571e6f139d1352e6cbcb8b7388b5da27da447 100644 (file)
@@ -560,6 +560,11 @@ gst_gdp_depay_decide_allocation (GstGDPDepay * gdpdepay)
     return;
   }
 
+  if (!gst_caps_is_fixed (caps)) {
+    GST_LOG_OBJECT (gdpdepay, "Caps on src pad are not fixed. Not querying.");
+    return;
+  }
+
   query = gst_query_new_allocation (caps, TRUE);
   if (!gst_pad_peer_query (gdpdepay->srcpad, query)) {
     GST_WARNING_OBJECT (gdpdepay, "Peer allocation query failed.");