Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Reconnect on all ICE failures when using the MCU #1881
Until now, when using the MCU, reconnections only happened when the connection failed for the peer that sent the offer, that is, for the own peer object that sends the media to the MCU; if the connection failed on any of the other peers (those that receive the media from the MCU) there was no reconnection.
In some cases it could happen that one of the connections to the MCU to receive the media from another participant failed while the other connections to receive the media as well as the connection to send it were kept connected. In that case the participant would still be in the call, but she would not be able to hear or see the other participant. To prevent this now reconnections are forced on any ICE failures when using the MCU.
Note that this does not lead to any glare issues (two peers sending an offer to each other), as when the MCU is used peers only send their own offer to the MCU and receive offers for the rest of the peers from the MCU.
All of the above applies only when the MCU is used; when the MCU is not used the unconditional reconnection can not be applied (due to the glare issues), so reconnections when the MCU is not used still need to be fixed.