5c72e71e14cfa76a2d1b0979d6b918abe187c208

Previously, the PeerConnection would look at the pending local and remote descriptions also to determine if an m= section is recycled. That is not quite spec compliant and breaks down under some edge cases. This changes the PeerConnection to look only at the *current* local or remote description (i.e., the descriptions from the last time the PeerConnection was in a stable signaling state) to determine if an m= section is recycled. Additionally, the MediaSessionFactory only looked at the local description to determine if an m= section is recycled. The full criteria requires looking at the current local and current remote m= sections. This change adds a state enum to the MediaDescriptionOptions so that the MediaSessionFactory knows if a media section is being recycled without duplicating the logic in PeerConnection. Tests are added to cover additional edge cases. Bug: chromium:899680 Change-Id: I5bcf0f88957a61653269ed8bb50b2018500bc1d5 Reviewed-on: https://webrtc-review.googlesource.com/c/111293 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Henrik Boström <hbos@webrtc.org> Reviewed-by: Seth Hampson <shampson@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25959}
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.
Development
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.
More info
- Official web site: http://www.webrtc.org
- Master source code repo: https://webrtc.googlesource.com/src
- Samples and reference apps: https://github.com/webrtc
- Mailing list: http://groups.google.com/group/discuss-webrtc
- Continuous build: http://build.chromium.org/p/client.webrtc
- Coding style guide
- Code of conduct
Description
Languages
C++
88.6%
C
3.3%
Java
3%
Objective-C++
1.9%
Python
1.9%
Other
1%