| Index: modules/audio_coding/audio_network_adaptor/bitrate_controller.cc
|
| diff --git a/modules/audio_coding/audio_network_adaptor/bitrate_controller.cc b/modules/audio_coding/audio_network_adaptor/bitrate_controller.cc
|
| index 587c858ece27c6cf16f2931492008c2e802a3827..16c4bc4e556b2b89dadad9bfe65236ad34ea0928 100644
|
| --- a/modules/audio_coding/audio_network_adaptor/bitrate_controller.cc
|
| +++ b/modules/audio_coding/audio_network_adaptor/bitrate_controller.cc
|
| @@ -19,9 +19,13 @@ namespace webrtc {
|
| namespace audio_network_adaptor {
|
|
|
| BitrateController::Config::Config(int initial_bitrate_bps,
|
| - int initial_frame_length_ms)
|
| + int initial_frame_length_ms,
|
| + int fl_increase_overhead_offset,
|
| + int fl_decrease_overhead_offset)
|
| : initial_bitrate_bps(initial_bitrate_bps),
|
| - initial_frame_length_ms(initial_frame_length_ms) {}
|
| + initial_frame_length_ms(initial_frame_length_ms),
|
| + fl_increase_overhead_offset(fl_increase_overhead_offset),
|
| + fl_decrease_overhead_offset(fl_decrease_overhead_offset) {}
|
|
|
| BitrateController::Config::~Config() = default;
|
|
|
| @@ -54,9 +58,15 @@ void BitrateController::MakeDecision(AudioEncoderRuntimeConfig* config) {
|
| webrtc::field_trial::IsEnabled("WebRTC-SendSideBwe-WithOverhead"));
|
| if (config->frame_length_ms)
|
| frame_length_ms_ = *config->frame_length_ms;
|
| - int overhead_rate_bps =
|
| - static_cast<int>(*overhead_bytes_per_packet_ * 8 * 1000 /
|
| - frame_length_ms_);
|
| + int offset = config->last_fl_change_increase
|
| + ? config_.fl_increase_overhead_offset
|
| + : config_.fl_decrease_overhead_offset;
|
| + // Check that
|
| + // -(*overhead_bytes_per_packet_) <= offset <= (*overhead_bytes_per_packet_)
|
| + RTC_DCHECK_GE(*overhead_bytes_per_packet_, -offset);
|
| + RTC_DCHECK_LE(offset, *overhead_bytes_per_packet_);
|
| + int overhead_rate_bps = static_cast<int>(
|
| + (*overhead_bytes_per_packet_ + offset) * 8 * 1000 / frame_length_ms_);
|
| bitrate_bps_ = std::max(0, *target_audio_bitrate_bps_ - overhead_rate_bps);
|
| }
|
| config->bitrate_bps = rtc::Optional<int>(bitrate_bps_);
|
|
|