commit | 19e4e8e6a4ad03679359f7e87fef0903a81cb088 | [log] [tgz] |
---|---|---|
author | Henrik Boström <hbos@chromium.org> | Mon Jul 16 11:44:38 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Mon Jul 16 11:44:38 2018 |
tree | 0b70d225335d865d1088c76e476ef5af8d252ca2 | |
parent | 71c6ed584e76497182cb00cdb782d31bf09a5c00 [diff] |
Surface Plan B "sender-only transceivers" in prep for Unified Plan. WebRTCRtpTransceiver gets sender-only and receiver-only varieties such that RTCPeerConnectionHandler::AddTrack() can return webrtc::RTCErrorOr<std::unique_ptr<WebRTCRtpTransceiver>>. This CL... - Adds ImplementationType() to WebRTCRtpTransceiver. - Adds RTCRtpSenderOnlyTransceiver. - Adds RTCRtpReceiverOnlyTransceiver. - Update AddTrack() to use TransceiverStateSurfacer and the new classes and to return "error or transceiver". This means that... - We surface third_party/webrtc errors to blink. - The return value is compatible with Unified Plan's AddTrack() which adds a transceiver (sender and receiver, not just sender). - The new codepath uses TransceiverStateSurfacer, making it trivial to update AddTrack() to surface the full transceiver in Unified Plan in follow-up CLs. Prior to this CL the codepath relied on implicit PROXY jumps to the signaling thread which made it impossible to create transceivers, since these have to be created on the signaling thread. Updating the AddTrack() codepath to surface transceivers in Unified Plan is now trivial. A follow-up CL will update the SetLocalDescription() and SetRemoteDescription() codepaths to use TransceiverStateSurfacer as well. TBR=foolip@chromium.org Bug: 777617 Change-Id: I2ec2739fbcaa49bdcb8c94670403315147aba589 Reviewed-on: https://chromium-review.googlesource.com/1133381 Commit-Queue: Henrik Boström <hbos@chromium.org> Reviewed-by: Guido Urdaneta <guidou@chromium.org> Cr-Commit-Position: refs/heads/master@{#575227}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .