mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-11 10:34:11 +00:00
webrtcbin: Add handling of unspecified peer-connection-state situation
For us it can happen that the DTLS transports are still in the process of connecting while the ICE transport is already completed. This situation is not specified in the spec but conceptually that means it is still in the process of connecting. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/758
This commit is contained in:
parent
4b73322333
commit
2798a80ebe
1 changed files with 9 additions and 0 deletions
|
@ -1115,6 +1115,15 @@ _collate_peer_connection_states (GstWebRTCBin * webrtc)
|
|||
return STATE (CONNECTED);
|
||||
}
|
||||
|
||||
/* FIXME: Unspecified state that happens for us */
|
||||
if ((dtls_all_new_connecting_or_checking
|
||||
|| dtls_all_connected_completed_or_closed)
|
||||
&& (ice_all_new_connecting_or_checking
|
||||
|| ice_all_connected_completed_or_closed)) {
|
||||
GST_TRACE_OBJECT (webrtc, "returning connecting");
|
||||
return STATE (CONNECTING);
|
||||
}
|
||||
|
||||
GST_FIXME_OBJECT (webrtc,
|
||||
"Undefined situation detected, returning old state");
|
||||
return webrtc->peer_connection_state;
|
||||
|
|
Loading…
Reference in a new issue