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

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

Issue 2643133003: Instantly pass network changes to controllers in audio network adaptor. (Closed)
Patch Set: fixing unittests Created 3 years, 11 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
Index: webrtc/modules/audio_coding/audio_network_adaptor/channel_controller_unittest.cc
diff --git a/webrtc/modules/audio_coding/audio_network_adaptor/channel_controller_unittest.cc b/webrtc/modules/audio_coding/audio_network_adaptor/channel_controller_unittest.cc
index 2b09563412574b89eb09ec9d38f90b43598fb236..def2e51fab30488923edbe54083b1a3db1452d9e 100644
--- a/webrtc/modules/audio_coding/audio_network_adaptor/channel_controller_unittest.cc
+++ b/webrtc/modules/audio_coding/audio_network_adaptor/channel_controller_unittest.cc
@@ -32,10 +32,15 @@ std::unique_ptr<ChannelController> CreateChannelController(int init_channels) {
}
void CheckDecision(ChannelController* controller,
- const Controller::NetworkMetrics& metrics,
+ const rtc::Optional<int>& uplink_bandwidth_bps,
size_t expected_num_channels) {
+ if (uplink_bandwidth_bps) {
+ Controller::NetworkMetrics network_metrics;
+ network_metrics.uplink_bandwidth_bps = uplink_bandwidth_bps;
+ controller->UpdateNetworkMetrics(network_metrics);
+ }
AudioNetworkAdaptor::EncoderRuntimeConfig config;
- controller->MakeDecision(metrics, &config);
+ controller->MakeDecision(&config);
EXPECT_EQ(rtc::Optional<size_t>(expected_num_channels), config.num_channels);
}
@@ -44,70 +49,56 @@ void CheckDecision(ChannelController* controller,
TEST(ChannelControllerTest, OutputInitValueWhenUplinkBandwidthUnknown) {
constexpr int kInitChannels = 2;
auto controller = CreateChannelController(kInitChannels);
- Controller::NetworkMetrics metrics;
- CheckDecision(controller.get(), metrics, kInitChannels);
+ CheckDecision(controller.get(), rtc::Optional<int>(), kInitChannels);
}
TEST(ChannelControllerTest, SwitchTo2ChannelsOnHighUplinkBandwidth) {
constexpr int kInitChannels = 1;
auto controller = CreateChannelController(kInitChannels);
- Controller::NetworkMetrics metrics;
-
// Use high bandwidth to check output switch to 2.
- metrics.uplink_bandwidth_bps = rtc::Optional<int>(kChannel1To2BandwidthBps);
- CheckDecision(controller.get(), metrics, 2);
+ CheckDecision(controller.get(), rtc::Optional<int>(kChannel1To2BandwidthBps),
+ 2);
}
TEST(ChannelControllerTest, SwitchTo1ChannelOnLowUplinkBandwidth) {
constexpr int kInitChannels = 2;
auto controller = CreateChannelController(kInitChannels);
- Controller::NetworkMetrics metrics;
-
// Use low bandwidth to check output switch to 1.
- metrics.uplink_bandwidth_bps = rtc::Optional<int>(kChannel2To1BandwidthBps);
- CheckDecision(controller.get(), metrics, 1);
+ CheckDecision(controller.get(), rtc::Optional<int>(kChannel2To1BandwidthBps),
+ 1);
}
TEST(ChannelControllerTest, Maintain1ChannelOnMediumUplinkBandwidth) {
constexpr int kInitChannels = 1;
auto controller = CreateChannelController(kInitChannels);
- Controller::NetworkMetrics metrics;
-
// Use between-thresholds bandwidth to check output remains at 1.
- metrics.uplink_bandwidth_bps = rtc::Optional<int>(kMediumBandwidthBps);
- CheckDecision(controller.get(), metrics, 1);
+ CheckDecision(controller.get(), rtc::Optional<int>(kMediumBandwidthBps), 1);
}
TEST(ChannelControllerTest, Maintain2ChannelsOnMediumUplinkBandwidth) {
constexpr int kInitChannels = 2;
auto controller = CreateChannelController(kInitChannels);
- Controller::NetworkMetrics metrics;
-
// Use between-thresholds bandwidth to check output remains at 2.
- metrics.uplink_bandwidth_bps = rtc::Optional<int>(kMediumBandwidthBps);
- CheckDecision(controller.get(), metrics, 2);
+ CheckDecision(controller.get(), rtc::Optional<int>(kMediumBandwidthBps), 2);
}
TEST(ChannelControllerTest, CheckBehaviorOnChangingUplinkBandwidth) {
constexpr int kInitChannels = 1;
auto controller = CreateChannelController(kInitChannels);
- Controller::NetworkMetrics metrics;
// Use between-thresholds bandwidth to check output remains at 1.
- metrics.uplink_bandwidth_bps = rtc::Optional<int>(kMediumBandwidthBps);
- CheckDecision(controller.get(), metrics, 1);
+ CheckDecision(controller.get(), rtc::Optional<int>(kMediumBandwidthBps), 1);
// Use high bandwidth to check output switch to 2.
- metrics.uplink_bandwidth_bps = rtc::Optional<int>(kChannel1To2BandwidthBps);
- CheckDecision(controller.get(), metrics, 2);
+ CheckDecision(controller.get(), rtc::Optional<int>(kChannel1To2BandwidthBps),
+ 2);
// Use between-thresholds bandwidth to check output remains at 2.
- metrics.uplink_bandwidth_bps = rtc::Optional<int>(kMediumBandwidthBps);
- CheckDecision(controller.get(), metrics, 2);
+ CheckDecision(controller.get(), rtc::Optional<int>(kMediumBandwidthBps), 2);
// Use low bandwidth to check output switch to 1.
- metrics.uplink_bandwidth_bps = rtc::Optional<int>(kChannel2To1BandwidthBps);
- CheckDecision(controller.get(), metrics, 1);
+ CheckDecision(controller.get(), rtc::Optional<int>(kChannel2To1BandwidthBps),
+ 1);
}
} // namespace webrtc

Powered by Google App Engine
This is Rietveld 408576698