webrtcbin: Don't consider transceivers without mid as inactive during ICE gathering state updates

We don't have any mid before parsing the SDP, which happens after we
handled the SDP answer and that usually happens long after ICE candidate
gathering is finished.

Without this all transceivers are considered inactive and as such ICE
gathering is for active transceiver was considered complete from the
very beginning.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1126
This commit is contained in:
Sebastian Dröge 2020-01-09 12:32:24 +02:00 committed by GStreamer Merge Bot
parent de0f803d56
commit 47ce34d32c

View file

@ -907,9 +907,10 @@ _collate_ice_gathering_states (GstWebRTCBin * webrtc)
continue;
}
/* We only have a mid in the transceiver after we got the SDP answer,
* which is usually long after gathering has finished */
if (!rtp_trans->mid) {
GST_TRACE_OBJECT (webrtc, "transceiver %p has no mid", rtp_trans);
continue;
}
g_object_get (stream, "rtcp-mux", &rtcp_mux, NULL);