Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1675)

Unified Diff: webrtc/modules/audio_coding/audio_network_adaptor/controller_manager.cc

Issue 2910193002: Avoiding check on reordering configs in ANA if there is no controller has scoring point. (Closed)
Patch Set: rebasing Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | webrtc/modules/audio_coding/audio_network_adaptor/controller_manager_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_;
« no previous file with comments | « no previous file | webrtc/modules/audio_coding/audio_network_adaptor/controller_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698