| Index: webrtc/modules/audio_coding/audio_network_adaptor/frame_length_controller.cc
|
| diff --git a/webrtc/modules/audio_coding/audio_network_adaptor/frame_length_controller.cc b/webrtc/modules/audio_coding/audio_network_adaptor/frame_length_controller.cc
|
| index 1e78db8fc6106b5dbb82b855efa90bebbfeb592a..d684e956a8a95c6ea36cfe61ede19022993f09da 100644
|
| --- a/webrtc/modules/audio_coding/audio_network_adaptor/frame_length_controller.cc
|
| +++ b/webrtc/modules/audio_coding/audio_network_adaptor/frame_length_controller.cc
|
| @@ -22,14 +22,12 @@ FrameLengthController::Config::Config(
|
| int initial_frame_length_ms,
|
| float fl_increasing_packet_loss_fraction,
|
| float fl_decreasing_packet_loss_fraction,
|
| - int fl_20ms_to_60ms_bandwidth_bps,
|
| - int fl_60ms_to_20ms_bandwidth_bps)
|
| + std::map<FrameLengthChange, int> fl_changing_bandwidths_bps)
|
| : encoder_frame_lengths_ms(encoder_frame_lengths_ms),
|
| initial_frame_length_ms(initial_frame_length_ms),
|
| fl_increasing_packet_loss_fraction(fl_increasing_packet_loss_fraction),
|
| fl_decreasing_packet_loss_fraction(fl_decreasing_packet_loss_fraction),
|
| - fl_20ms_to_60ms_bandwidth_bps(fl_20ms_to_60ms_bandwidth_bps),
|
| - fl_60ms_to_20ms_bandwidth_bps(fl_60ms_to_20ms_bandwidth_bps) {}
|
| + fl_changing_bandwidths_bps(std::move(fl_changing_bandwidths_bps)) {}
|
|
|
| FrameLengthController::Config::Config(const Config& other) = default;
|
|
|
| @@ -42,11 +40,6 @@ FrameLengthController::FrameLengthController(const Config& config)
|
| config_.initial_frame_length_ms);
|
| // |encoder_frame_lengths_ms| must contain |initial_frame_length_ms|.
|
| RTC_DCHECK(frame_length_ms_ != config_.encoder_frame_lengths_ms.end());
|
| -
|
| - frame_length_change_criteria_.insert(std::make_pair(
|
| - FrameLengthChange(20, 60), config_.fl_20ms_to_60ms_bandwidth_bps));
|
| - frame_length_change_criteria_.insert(std::make_pair(
|
| - FrameLengthChange(60, 20), config_.fl_60ms_to_20ms_bandwidth_bps));
|
| }
|
|
|
| FrameLengthController::~FrameLengthController() = default;
|
| @@ -72,15 +65,13 @@ void FrameLengthController::MakeDecision(
|
| config->frame_length_ms = rtc::Optional<int>(*frame_length_ms_);
|
| }
|
|
|
| -FrameLengthController::FrameLengthChange::FrameLengthChange(
|
| +FrameLengthController::Config::FrameLengthChange::FrameLengthChange(
|
| int from_frame_length_ms,
|
| int to_frame_length_ms)
|
| : from_frame_length_ms(from_frame_length_ms),
|
| to_frame_length_ms(to_frame_length_ms) {}
|
|
|
| -FrameLengthController::FrameLengthChange::~FrameLengthChange() = default;
|
| -
|
| -bool FrameLengthController::FrameLengthChange::operator<(
|
| +bool FrameLengthController::Config::FrameLengthChange::operator<(
|
| const FrameLengthChange& rhs) const {
|
| return from_frame_length_ms < rhs.from_frame_length_ms ||
|
| (from_frame_length_ms == rhs.from_frame_length_ms &&
|
| @@ -99,10 +90,10 @@ bool FrameLengthController::FrameLengthIncreasingDecision(
|
| if (longer_frame_length_ms == config_.encoder_frame_lengths_ms.end())
|
| return false;
|
|
|
| - auto increase_threshold = frame_length_change_criteria_.find(
|
| - FrameLengthChange(*frame_length_ms_, *longer_frame_length_ms));
|
| + auto increase_threshold = config_.fl_changing_bandwidths_bps.find(
|
| + Config::FrameLengthChange(*frame_length_ms_, *longer_frame_length_ms));
|
|
|
| - if (increase_threshold == frame_length_change_criteria_.end())
|
| + if (increase_threshold == config_.fl_changing_bandwidths_bps.end())
|
| return false;
|
|
|
| return (uplink_bandwidth_bps_ &&
|
| @@ -124,10 +115,10 @@ bool FrameLengthController::FrameLengthDecreasingDecision(
|
| return false;
|
|
|
| auto shorter_frame_length_ms = std::prev(frame_length_ms_);
|
| - auto decrease_threshold = frame_length_change_criteria_.find(
|
| - FrameLengthChange(*frame_length_ms_, *shorter_frame_length_ms));
|
| + auto decrease_threshold = config_.fl_changing_bandwidths_bps.find(
|
| + Config::FrameLengthChange(*frame_length_ms_, *shorter_frame_length_ms));
|
|
|
| - if (decrease_threshold == frame_length_change_criteria_.end())
|
| + if (decrease_threshold == config_.fl_changing_bandwidths_bps.end())
|
| return false;
|
|
|
| return (uplink_bandwidth_bps_ &&
|
|
|