Chromium Code Reviews| Index: talk/app/webrtc/peerconnection.cc |
| diff --git a/talk/app/webrtc/peerconnection.cc b/talk/app/webrtc/peerconnection.cc |
| index 41df847cd68ddaa344c703def4549aa3ed81701d..7e689490b940dff8ae9b0dc6c206d2daba3a1619 100644 |
| --- a/talk/app/webrtc/peerconnection.cc |
| +++ b/talk/app/webrtc/peerconnection.cc |
| @@ -868,6 +868,11 @@ void PeerConnection::OnRemoveLocalStream(MediaStreamInterface* stream) { |
| void PeerConnection::OnIceConnectionChange( |
| PeerConnectionInterface::IceConnectionState new_state) { |
| ASSERT(signaling_thread()->IsCurrent()); |
| + // After transitioning to "closed", ignore any additional states from |
| + // WebRtcSession (such as "disconnected"). |
| + if (ice_connection_state_ == kIceConnectionClosed) { |
|
pthatcher1
2015/09/09 00:52:02
Should we ASSERT(new_state == disconnected)?
Taylor Brandstetter
2015/09/10 01:17:48
There's theoretically a race condition here; JS co
|
| + return; |
| + } |
| ice_connection_state_ = new_state; |
| observer_->OnIceConnectionChange(ice_connection_state_); |
| } |