Index: webrtc/modules/audio_processing/level_controller/level_controller_complexity_unittest.cc |
diff --git a/webrtc/modules/audio_processing/level_controller/level_controller_complexity_unittest.cc b/webrtc/modules/audio_processing/level_controller/level_controller_complexity_unittest.cc |
index 122a57c7b0f04287513eb072d36f7856eaf9fd7e..a59ef986125122da895d0cd1ae9a7cb519f50b10 100644 |
--- a/webrtc/modules/audio_processing/level_controller/level_controller_complexity_unittest.cc |
+++ b/webrtc/modules/audio_processing/level_controller/level_controller_complexity_unittest.cc |
@@ -184,25 +184,40 @@ TEST(LevelControllerPerformanceTest, StandaloneProcessing) { |
} |
} |
+void TestSomeSampleRatesWithApm(const std::string& test_name, |
+ bool use_mobile_agc, |
+ bool include_default_apm_processing) { |
+ // Test some stereo combinations first. |
+ size_t num_channels = 2; |
+ RunTogetherWithApm(test_name, 48000, 48000, AudioProcessing::kSampleRate8kHz, |
+ AudioProcessing::kSampleRate48kHz, num_channels, |
+ use_mobile_agc, include_default_apm_processing); |
+ RunTogetherWithApm(test_name, 48000, 48000, AudioProcessing::kSampleRate16kHz, |
+ AudioProcessing::kSampleRate32kHz, num_channels, |
+ use_mobile_agc, include_default_apm_processing); |
+ RunTogetherWithApm(test_name, 48000, 48000, AudioProcessing::kSampleRate32kHz, |
+ AudioProcessing::kSampleRate16kHz, num_channels, |
+ use_mobile_agc, include_default_apm_processing); |
+ RunTogetherWithApm(test_name, 48000, 48000, AudioProcessing::kSampleRate48kHz, |
+ AudioProcessing::kSampleRate8kHz, num_channels, |
+ use_mobile_agc, include_default_apm_processing); |
+ RunTogetherWithApm(test_name, 48000, 48000, 44100, 44100, num_channels, |
+ use_mobile_agc, include_default_apm_processing); |
+ |
+ // Then test mono combinations. |
+ num_channels = 1; |
+ RunTogetherWithApm(test_name, 48000, 48000, AudioProcessing::kSampleRate48kHz, |
+ AudioProcessing::kSampleRate48kHz, num_channels, |
+ use_mobile_agc, include_default_apm_processing); |
+} |
+ |
#if !defined(WEBRTC_ANDROID) |
TEST(LevelControllerPerformanceTest, ProcessingViaApm) { |
#else |
TEST(LevelControllerPerformanceTest, DISABLED_ProcessingViaApm) { |
#endif |
- int sample_rates_to_test[] = {AudioProcessing::kSampleRate8kHz, |
- AudioProcessing::kSampleRate16kHz, |
- AudioProcessing::kSampleRate32kHz, |
- AudioProcessing::kSampleRate48kHz, 44100}; |
- for (auto capture_input_sample_rate_hz : sample_rates_to_test) { |
- for (auto capture_output_sample_rate_hz : sample_rates_to_test) { |
- for (size_t num_channels = 1; num_channels <= 2; ++num_channels) { |
- RunTogetherWithApm("SimpleLevelControlViaApm", 48000, 48000, |
- capture_input_sample_rate_hz, |
- capture_output_sample_rate_hz, num_channels, false, |
- false); |
- } |
- } |
- } |
+ // Run without default APM processing and desktop AGC. |
+ TestSomeSampleRatesWithApm("SimpleLevelControlViaApm", false, false); |
} |
#if !defined(WEBRTC_ANDROID) |
@@ -210,24 +225,11 @@ TEST(LevelControllerPerformanceTest, InteractionWithDefaultApm) { |
#else |
TEST(LevelControllerPerformanceTest, DISABLED_InteractionWithDefaultApm) { |
#endif |
- int sample_rates_to_test[] = {AudioProcessing::kSampleRate8kHz, |
- AudioProcessing::kSampleRate16kHz, |
- AudioProcessing::kSampleRate32kHz, |
- AudioProcessing::kSampleRate48kHz, 44100}; |
- for (auto capture_input_sample_rate_hz : sample_rates_to_test) { |
- for (auto capture_output_sample_rate_hz : sample_rates_to_test) { |
- for (size_t num_channels = 1; num_channels <= 2; ++num_channels) { |
- RunTogetherWithApm("LevelControlAndDefaultDesktopApm", 48000, 48000, |
- capture_input_sample_rate_hz, |
- capture_output_sample_rate_hz, num_channels, false, |
- true); |
- RunTogetherWithApm("LevelControlAndDefaultMobileApm", 48000, 48000, |
- capture_input_sample_rate_hz, |
- capture_output_sample_rate_hz, num_channels, true, |
- true); |
- } |
- } |
- } |
+ bool include_default_apm_processing = true; |
+ TestSomeSampleRatesWithApm("LevelControlAndDefaultDesktopApm", false, |
+ include_default_apm_processing); |
+ TestSomeSampleRatesWithApm("LevelControlAndDefaultMobileApm", true, |
+ include_default_apm_processing); |
} |
} // namespace webrtc |