audioaggregator: Fix negotiation with downstream if there is no peer yet

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>
This commit is contained in:
Sebastian Dröge 2020-07-09 12:45:27 +03:00 committed by GStreamer Merge Bot
parent 64712fa7eb
commit f94c7ae3c9

View file

@ -875,7 +875,11 @@ gst_audio_aggregator_sink_setcaps (GstAudioAggregatorPad * aaggpad,
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;
}