| Index: webrtc/modules/audio_coding/audio_network_adaptor/controller_manager.cc
|
| diff --git a/webrtc/modules/audio_coding/audio_network_adaptor/controller_manager.cc b/webrtc/modules/audio_coding/audio_network_adaptor/controller_manager.cc
|
| index d3f2e7969e3f5030b3caeae0e8b04d3229df0c2a..c445ebe3b2f158b3f6468f55acf9929e6cd6618d 100644
|
| --- a/webrtc/modules/audio_coding/audio_network_adaptor/controller_manager.cc
|
| +++ b/webrtc/modules/audio_coding/audio_network_adaptor/controller_manager.cc
|
| @@ -253,13 +253,20 @@ std::unique_ptr<ControllerManager> ControllerManagerImpl::Create(
|
| controllers.push_back(std::move(controller));
|
| }
|
|
|
| - RTC_CHECK(controller_manager_config.has_min_reordering_time_ms());
|
| - RTC_CHECK(controller_manager_config.has_min_reordering_squared_distance());
|
| - return std::unique_ptr<ControllerManagerImpl>(new ControllerManagerImpl(
|
| - ControllerManagerImpl::Config(
|
| - controller_manager_config.min_reordering_time_ms(),
|
| - controller_manager_config.min_reordering_squared_distance()),
|
| - std::move(controllers), scoring_points));
|
| + if (scoring_points.size() == 0) {
|
| + return std::unique_ptr<ControllerManagerImpl>(new ControllerManagerImpl(
|
| + ControllerManagerImpl::Config(0, 0), std::move(controllers),
|
| + scoring_points));
|
| + } else {
|
| + RTC_CHECK(controller_manager_config.has_min_reordering_time_ms());
|
| + RTC_CHECK(controller_manager_config.has_min_reordering_squared_distance());
|
| + return std::unique_ptr<ControllerManagerImpl>(new ControllerManagerImpl(
|
| + ControllerManagerImpl::Config(
|
| + controller_manager_config.min_reordering_time_ms(),
|
| + controller_manager_config.min_reordering_squared_distance()),
|
| + std::move(controllers), scoring_points));
|
| + }
|
| +
|
| #else
|
| RTC_NOTREACHED();
|
| return nullptr;
|
| @@ -294,11 +301,13 @@ ControllerManagerImpl::~ControllerManagerImpl() = default;
|
|
|
| std::vector<Controller*> ControllerManagerImpl::GetSortedControllers(
|
| const Controller::NetworkMetrics& metrics) {
|
| - int64_t now_ms = rtc::TimeMillis();
|
| + if (controller_scoring_points_.size() == 0)
|
| + return default_sorted_controllers_;
|
|
|
| if (!metrics.uplink_bandwidth_bps || !metrics.uplink_packet_loss_fraction)
|
| return sorted_controllers_;
|
|
|
| + const int64_t now_ms = rtc::TimeMillis();
|
| if (last_reordering_time_ms_ &&
|
| now_ms - *last_reordering_time_ms_ < config_.min_reordering_time_ms)
|
| return sorted_controllers_;
|
|
|