commit | 1dddaa1a84330091ca083c950ef2e24a85a48fc8 | [log] [tgz] |
---|---|---|
author | Henrik Boström <hbos@webrtc.org> | Thu Oct 24 12:20:01 2019 +0200 |
committer | Commit Bot <commit-bot@chromium.org> | Fri Oct 25 07:39:34 2019 +0000 |
tree | 84d7cd586fa2257bf1e5e9a8b43e12fdafecea51 | |
parent | ef0e4d0438459d73c7eca453bda0e8d80ca0f896 [diff] |
[PeerConnection] Use an OperationsChain in PeerConnection for async ops. For background, motivation, requirements and implementation notes, see https://docs.google.com/document/d/1XLwNN2kUIGGTwz9LQ0NwJNkcybi9oKnynUEZB1jGA14/edit?usp=sharing Using the OperationsChain will unblock future CLs from chaining multiple operations together such as implementing parameterless setLocalDescription(). In this CL, the OperationsChain is used in existing signaling operations with little intended side-effects. An operation that is chained onto an empty OperationsChain will for instance execute immediately, and SetLocalDescription() and SetRemoteDescription() are implemented as "synchronous operations". The lifetime of the PeerConnection is not indended to change as a result of this CL: All chained operations use a raw pointer to the PC that is ensured not to be used-after-free using an "IsAlive" object. There is one notable change though: CreateOffer() and CreateAnswer() will asynchronously delay other signaling methods from executing until they have completed. Drive-by fix: This CL also ensures that early failing CreateOffer/CreateAnswer operation's observers are invoked if the PeerConnection is destroyed while a PostCreateSessionDescriptionFailure is pending. Bug: webrtc:11019 Change-Id: I521333e41d20d9bbfb1e721609f2c9db2a5f93a9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157305 Reviewed-by: Steve Anton <steveanton@webrtc.org> Commit-Queue: Henrik Boström <hbos@webrtc.org> Cr-Commit-Position: refs/heads/master@{#29605}
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.