get_allowed_caps() will return NULL, which is not a problem in itself.
Just take the template caps for negotiation in that case instead of
erroring out.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/744>
gint downstream_rate;
GstStructure *s;
- if (!downstream_caps || gst_caps_is_empty (downstream_caps)) {
+ /* Returns NULL if there is no downstream peer */
+ if (!downstream_caps)
+ downstream_caps = gst_pad_get_pad_template_caps (agg->srcpad);
+
+ if (gst_caps_is_empty (downstream_caps)) {
ret = FALSE;
goto done;
}