| Index: webrtc/call/call.cc
 | 
| diff --git a/webrtc/call/call.cc b/webrtc/call/call.cc
 | 
| index ff5ebca0e205d557b32bcc61dce5dfd92c8973c9..43bf3d3305851ef46f7fed365c9cab22760bf213 100644
 | 
| --- a/webrtc/call/call.cc
 | 
| +++ b/webrtc/call/call.cc
 | 
| @@ -202,6 +202,9 @@ class Call : public webrtc::Call,
 | 
|    void SetBitrateConfigMask(
 | 
|        const webrtc::Call::Config::BitrateConfigMask& bitrate_config) override;
 | 
|  
 | 
| +  void SetBitrateAllocationStrategy(
 | 
| +      rtc::BitrateAllocationStrategy* bitrate_allocation_strategy) override;
 | 
| +
 | 
|    void SignalChannelNetworkState(MediaType media, NetworkState state) override;
 | 
|  
 | 
|    void OnTransportOverheadChanged(MediaType media,
 | 
| @@ -1011,6 +1014,18 @@ void Call::UpdateCurrentBitrateConfig(const rtc::Optional<int>& new_start) {
 | 
|    config_.bitrate_config = updated;
 | 
|  }
 | 
|  
 | 
| +void Call::SetBitrateAllocationStrategy(
 | 
| +    rtc::BitrateAllocationStrategy* bitrate_allocation_strategy) {
 | 
| +  if (!worker_queue_.IsCurrent()) {
 | 
| +    worker_queue_.PostTask([this, bitrate_allocation_strategy] {
 | 
| +      SetBitrateAllocationStrategy(std::move(bitrate_allocation_strategy));
 | 
| +    });
 | 
| +    return;
 | 
| +  }
 | 
| +  RTC_DCHECK_RUN_ON(&worker_queue_);
 | 
| +  bitrate_allocator_->SetBitrateAllocationStrategy(bitrate_allocation_strategy);
 | 
| +}
 | 
| +
 | 
|  void Call::SignalChannelNetworkState(MediaType media, NetworkState state) {
 | 
|    RTC_DCHECK_RUN_ON(&configuration_thread_checker_);
 | 
|    switch (media) {
 | 
| 
 |