commit | c7805dbd0ea99df91ed4c4a7fccbfeab5bafd6bc | [log] [tgz] |
---|---|---|
author | sprang <sprang@webrtc.org> | Fri Nov 25 08:09:43 2016 -0800 |
committer | Commit bot <commit-bot@chromium.org> | Fri Nov 25 16:09:51 2016 +0000 |
tree | d06999e19f51010af05c9b61a893638851820909 | |
parent | fd34d305799ec9ba3f0a26637f8a927f4f6dce98 [diff] |
Fix perf regression in screenshare temporal layer bitrate allocation A recent cl (https://codereview.webrtc.org/2510583002) introduced an issue where temporal layers may return incorrect bitrates, given that they are stateful and that the GetPreferredBitrateBps is called. The fix is to use a temporary simulcast rate allocator instance, without temporal layers, and get the preferred bitrate from that. Additionally, some regression in bitrate allocated stems from overly often reconfiguring the encoder, which yields suboptimal rate control. The fix here is to limit encoder updates to when values have actually changed. As a bonus, dchecks added by this cl found a bug in the (unused) RealtimeTemporalLayers implementation. Fixed that as well. BUG=webrtc:6301, chromium:666654 Review-Url: https://codereview.webrtc.org/2529073003 Cr-Commit-Position: refs/heads/master@{#15250}
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. This page is maintained by the Google Chrome team.
See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.