DescriptionFix 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
Committed: https://crrev.com/c7805dbd0ea99df91ed4c4a7fccbfeab5bafd6bc
Cr-Commit-Position: refs/heads/master@{#15250}
Patch Set 1 #Patch Set 2 : Fixed bug in (unused) RealtimeTemporalLayers #
Total comments: 4
Patch Set 3 : doh #Patch Set 4 : Fixed incorrect test case #Patch Set 5 : Addressed comments #Patch Set 6 : Yet another failing test #
Messages
Total messages: 34 (26 generated)
|