commit | bd933ee29a2fe35871ba0094847fe282f4a02900 | [log] [tgz] |
---|---|---|
author | Markus Handell <handellm@webrtc.org> | Wed Jun 02 14:17:35 2021 |
committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Jun 02 15:15:04 2021 |
tree | 7e959ab691b621987256e8eb96b9736c472ab859 | |
parent | 7444b19833aa7f3123c9c2a6b1f7986f71c423d7 [diff] |
SdpOfferAnswerHandler: Significantly reduce audio impairment. It was found from Chrome tracing that worker packet progression in https://webrtc.github.io/samples/src/content/peerconnection/negotiate-timing/ during renegotiation of 100 transceivers is hindered by a multi-hundred millisecond Invoke from the signaling to the worker thread. This causes audio impairment. Fix this by splitting the single Invoke into a series of Invokes, allowing packets received during the renegotiation to be processed between the worker invocations. Experimental data of negotiation from 1 to 100 video transceivers WebRtcDistinctWorkerThread OFF, before change: 4415.60 milliseconds, audio impairment 29760 4216.00 milliseconds, audio impairment 25560 4298.40 milliseconds, audio impairment 25440 WebRtcDistinctWorkerThread OFF, after change: 4258.70 milliseconds, audio impairment 26280 4255.50 milliseconds, audio impairment 25920 4363.10 milliseconds, audio impairment 25200 WebRtcDistinctWorkerThread ON, before change: 4407.80 milliseconds, audio impairment 24840 4541.00 milliseconds, audio impairment 26160 4377.80 milliseconds, audio impairment 17040 WebRtcDistinctWorkerThread ON, after change: 4364.80 milliseconds, audio impairment 0 4174.30 milliseconds, audio impairment 0 4309.00 milliseconds, audio impairment 0 We should reconsider this split after lazy decoders and decoder stream projects have shipped, see - bugs.webrtc.org/12462 - crbug.com/1157227 - crbug.com/1187289 Bug: webrtc:12840, webrtc:12462, chromium:1157227, chromium:1187289 Change-Id: I8e3b3943bd76f09da74b457690799415335b51f5 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221103 Commit-Queue: Markus Handell <handellm@webrtc.org> Reviewed-by: Tommi <tommi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34202}
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.