| Index: webrtc/call/call.cc
|
| diff --git a/webrtc/call/call.cc b/webrtc/call/call.cc
|
| index e9838d9baad0acdadde8f33ddc12bb863068cc92..7c3e230b1969e3fd24c1c1feb36d3b66ae9c54a1 100644
|
| --- a/webrtc/call/call.cc
|
| +++ b/webrtc/call/call.cc
|
| @@ -180,6 +180,9 @@ class Call : public webrtc::Call,
|
| void SetBitrateConfig(
|
| const webrtc::Call::Config::BitrateConfig& bitrate_config) override;
|
|
|
| + void UpdateBitrateConfig(
|
| + const webrtc::Call::Config::BitrateConfigMask& bitrate_config) override;
|
| +
|
| void SignalChannelNetworkState(MediaType media, NetworkState state) override;
|
|
|
| void OnTransportOverheadChanged(MediaType media,
|
| @@ -922,6 +925,23 @@ void Call::SetBitrateConfig(
|
| bitrate_config.max_bitrate_bps);
|
| }
|
|
|
| +void Call::UpdateBitrateConfig(
|
| + const webrtc::Call::Config::BitrateConfigMask& mask) {
|
| + TRACE_EVENT0("webrtc", "Call::UpdateBitrateConfig");
|
| + RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread());
|
| +
|
| + const Config::BitrateConfig& current_config = config_.bitrate_config;
|
| + Config::BitrateConfig new_config;
|
| + new_config.min_bitrate_bps =
|
| + mask.min_bitrate_bps.value_or(current_config.min_bitrate_bps);
|
| + new_config.start_bitrate_bps =
|
| + mask.start_bitrate_bps.value_or(current_config.start_bitrate_bps);
|
| + new_config.max_bitrate_bps =
|
| + mask.max_bitrate_bps.value_or(current_config.max_bitrate_bps);
|
| +
|
| + SetBitrateConfig(new_config);
|
| +}
|
| +
|
| void Call::SignalChannelNetworkState(MediaType media, NetworkState state) {
|
| RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread());
|
| switch (media) {
|
|
|