gdpdepay: don't allocation query if caps aren't fixed

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
This commit is contained in:
Víctor Manuel Jáquez Leal 2018-01-29 12:50:36 +01:00
parent 538ccb6093
commit f04b20e59e

View 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.");