commit | e169272507de938ba317ba55e1f175b6a513aa1b | [log] [tgz] |
---|---|---|
author | Qingsi Wang <qingsi@google.com> | Wed Nov 29 13:27:20 2017 -0800 |
committer | Commit Bot <commit-bot@chromium.org> | Mon Dec 04 20:08:28 2017 +0000 |
tree | 91bf8ee7b533df38956cff89e06edebd32b6ccc3 | |
parent | 6fec880dd1db14a082c0f17d5514409cf9eddc20 [diff] |
Fixed a bug in determining ICE roles. When the initial offer side uses the ICE lite implementation, and initiates a peer connection with an endpoint with the full implementation, the offer side assumes the controlled ICE role per RFC5245 and the remote endpoint MUST take the controlling role. This logic was partially implemented in SetRemoteTransportDescription in reflection where the endpoint switches its role to the controlling after receiving the offer. The bug was caused by the following SetLocalDescription at the remote endpoint after creating the answer, which overrides the role to the controlled since it has no initial offer and the role is not reflected in SetLocalTransportDescription. This results in no nomination of candidate pairs and timeout of establishing the peer connection. The fix adds reflection on one's ICE role in SetLocalTransportDescription. This fix also takes into account the case when both sides use the lite implementation of ICE and the initial offer side MUST take the controlling role per RFC5245 in this case, which is the default behavior in the current implementation. Bug: webrtc:8531 Change-Id: I65edd296c155bff51fcdb28709975e6837f302d5 Reviewed-on: https://webrtc-review.googlesource.com/26780 Reviewed-by: Steve Anton <steveanton@webrtc.org> Reviewed-by: Peter Thatcher <pthatcher@webrtc.org> Commit-Queue: Qingsi Wang <qingsi@google.com> Cr-Commit-Position: refs/heads/master@{#21053}
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 http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.