| Index: modules/audio_coding/audio_network_adaptor/controller_manager.cc
|
| diff --git a/modules/audio_coding/audio_network_adaptor/controller_manager.cc b/modules/audio_coding/audio_network_adaptor/controller_manager.cc
|
| index 319e752d7bdc1d23c07d639ad046fe6016fc9780..d57396038eb7828b27dfa3d3637781e99ef2ea98 100644
|
| --- a/modules/audio_coding/audio_network_adaptor/controller_manager.cc
|
| +++ b/modules/audio_coding/audio_network_adaptor/controller_manager.cc
|
| @@ -137,11 +137,20 @@ std::unique_ptr<FrameLengthController> CreateFrameLengthController(
|
| config.fl_120ms_to_60ms_bandwidth_bps()));
|
| }
|
|
|
| + int fl_increase_overhead_offset = 0;
|
| + if (config.has_fl_increase_overhead_offset()) {
|
| + fl_increase_overhead_offset = config.fl_increase_overhead_offset();
|
| + }
|
| + int fl_decrease_overhead_offset = 0;
|
| + if (config.has_fl_decrease_overhead_offset()) {
|
| + fl_decrease_overhead_offset = config.fl_decrease_overhead_offset();
|
| + }
|
| +
|
| FrameLengthController::Config ctor_config(
|
| std::vector<int>(), initial_frame_length_ms, min_encoder_bitrate_bps,
|
| config.fl_increasing_packet_loss_fraction(),
|
| - config.fl_decreasing_packet_loss_fraction(),
|
| - std::move(fl_changing_bandwidths_bps));
|
| + config.fl_decreasing_packet_loss_fraction(), fl_increase_overhead_offset,
|
| + fl_decrease_overhead_offset, std::move(fl_changing_bandwidths_bps));
|
|
|
| for (auto frame_length : encoder_frame_lengths_ms)
|
| ctor_config.encoder_frame_lengths_ms.push_back(frame_length);
|
| @@ -176,10 +185,21 @@ std::unique_ptr<DtxController> CreateDtxController(
|
|
|
| using audio_network_adaptor::BitrateController;
|
| std::unique_ptr<BitrateController> CreateBitrateController(
|
| + const audio_network_adaptor::config::BitrateController& bitrate_config,
|
| int initial_bitrate_bps,
|
| int initial_frame_length_ms) {
|
| - return std::unique_ptr<BitrateController>(new BitrateController(
|
| - BitrateController::Config(initial_bitrate_bps, initial_frame_length_ms)));
|
| + int fl_increase_overhead_offset = 0;
|
| + if (bitrate_config.has_fl_increase_overhead_offset()) {
|
| + fl_increase_overhead_offset = bitrate_config.fl_increase_overhead_offset();
|
| + }
|
| + int fl_decrease_overhead_offset = 0;
|
| + if (bitrate_config.has_fl_decrease_overhead_offset()) {
|
| + fl_decrease_overhead_offset = bitrate_config.fl_decrease_overhead_offset();
|
| + }
|
| + return std::unique_ptr<BitrateController>(
|
| + new BitrateController(BitrateController::Config(
|
| + initial_bitrate_bps, initial_frame_length_ms,
|
| + fl_increase_overhead_offset, fl_decrease_overhead_offset)));
|
| }
|
| #endif // WEBRTC_ENABLE_PROTOBUF
|
|
|
| @@ -257,8 +277,9 @@ std::unique_ptr<ControllerManager> ControllerManagerImpl::Create(
|
| initial_dtx_enabled);
|
| break;
|
| case audio_network_adaptor::config::Controller::kBitrateController:
|
| - controller = CreateBitrateController(initial_bitrate_bps,
|
| - initial_frame_length_ms);
|
| + controller = CreateBitrateController(
|
| + controller_config.bitrate_controller(), initial_bitrate_bps,
|
| + initial_frame_length_ms);
|
| break;
|
| default:
|
| RTC_NOTREACHED();
|
|
|