-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix peerconnetcion connecting state #2435
Conversation
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## master #2435 +/- ##
==========================================
- Coverage 77.70% 77.63% -0.08%
==========================================
Files 87 87
Lines 9298 9300 +2
==========================================
- Hits 7225 7220 -5
- Misses 1644 1649 +5
- Partials 429 431 +2
Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
A unit test for but approval from me! If you don't think a test is needed that is totally fine |
0002603
to
c0a7f15
Compare
Make updateConnectionState consistent with https://www.w3.org/TR/webrtc/#rtcpeerconnectionstate-enum
c0a7f15
to
b7c9b8c
Compare
* peer_connection: Implement state changes after spec https://www.w3.org/TR/webrtc/#rtcpeerconnectionstate-enum Ported from PION pion/webrtc#2435 * peer_connection: Fix state transition race DTLS transport state was previously acquired and sent over to the async context returned. This would in some rare cases obviously lead to updating peer connection state with an old DTLS transport state. This would in turn lead to PeerConnection not updating it's state correctly. Sometimes we would see PeerConnection never reaching Connected. * peer_connection: Initialize PeerConnectionInternal correctly PeerConnectionInternal was initialized with default transports and then mutated right after. This resulted in create_ice_transport() using the default DTLS transport instance which again led to state transition reading DTLS transport state from the wrong instance.
The peerconnection state should transit to connecting if icestate is checking or dtls connecting
Description
Reference issue
Fixes #...