Fix a bug where ICE restart with the same address would disconnect the selected connection on the callee side. The root cause is that ports manage connections via remote addresses. If a new generation candidate is applied on an old generation port, it may create a new connection and replace any existing connection under the same address, even when it is selected. This change only blocks the replacement of selected connections so they would still send data during ICE restart. The ICE restart should conclude with selected connections under a new port with updated ufrag and password. Then the connections kept here would be destroyed with the old port. Unit test and integration test are updated accordingly. Bug: webrtc:543082385 Change-Id: I9eb841b3f276d0c4d32d0d6d86906278e8a438a4 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/500240 Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org> Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org> Cr-Commit-Position: refs/heads/main@{#48545}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.
See here for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.