`AudioProcessingImplLockTest`: stop using `ApplyConfig()`
`AudioProcessingImpl::ApplyConfig()` is deprecated, instead this CL uses
`AudioProcessingBuilderForTesting::SetConfig()`.
Also includes code style improvements.
Bug: webrtc:5298
Change-Id: Id6790bd110f2eb87deafa851f5c83c3fd00692b9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/235376
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Per Ã…hgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35288}
diff --git a/modules/audio_processing/audio_processing_impl_locking_unittest.cc b/modules/audio_processing/audio_processing_impl_locking_unittest.cc
index bb45fcf..396231b 100644
--- a/modules/audio_processing/audio_processing_impl_locking_unittest.cc
+++ b/modules/audio_processing/audio_processing_impl_locking_unittest.cc
@@ -24,9 +24,11 @@
#include "test/gtest.h"
namespace webrtc {
-
namespace {
+constexpr int kMaxFrameSize = 480;
+constexpr int kTestTimeOutLimit = 10 * 60 * 1000;
+
class AudioProcessingImplLockTest;
// Type of the render thread APM API call to use in the test.
@@ -305,14 +307,14 @@
rtc::Event* render_call_event,
rtc::Event* capture_call_event,
FrameCounters* shared_counters_state,
- TestConfig* test_config,
+ const TestConfig* test_config,
AudioProcessing* apm);
void Process();
private:
- static const int kMaxCallDifference = 10;
- static const float kCaptureInputFloatLevel;
- static const int kCaptureInputFixLevel = 1024;
+ static constexpr int kMaxCallDifference = 10;
+ static constexpr float kCaptureInputFloatLevel = 0.03125f;
+ static constexpr int kCaptureInputFixLevel = 1024;
void PrepareFrame();
void CallApmCaptureSide();
@@ -331,13 +333,13 @@
class StatsProcessor {
public:
StatsProcessor(RandomGenerator* rand_gen,
- TestConfig* test_config,
+ const TestConfig* test_config,
AudioProcessing* apm);
void Process();
private:
RandomGenerator* rand_gen_ = nullptr;
- TestConfig* test_config_ = nullptr;
+ const TestConfig* const test_config_ = nullptr;
AudioProcessing* apm_ = nullptr;
};
@@ -349,14 +351,14 @@
rtc::Event* render_call_event,
rtc::Event* capture_call_event,
FrameCounters* shared_counters_state,
- TestConfig* test_config,
+ const TestConfig* test_config,
AudioProcessing* apm);
void Process();
private:
- static const int kMaxCallDifference = 10;
- static const int kRenderInputFixLevel = 16384;
- static const float kRenderInputFloatLevel;
+ static constexpr int kMaxCallDifference = 10;
+ static constexpr int kRenderInputFixLevel = 16384;
+ static constexpr float kRenderInputFloatLevel = 0.5f;
void PrepareFrame();
void CallApmRenderSide();
@@ -380,10 +382,6 @@
bool MaybeEndTest();
private:
- static const int kTestTimeOutLimit = 10 * 60 * 1000;
- static const int kMaxFrameSize = 480;
-
- // ::testing::TestWithParam<> implementation
void SetUp() override;
void TearDown() override;
@@ -428,8 +426,8 @@
// Thread related variables.
mutable RandomGenerator rand_gen_;
+ const TestConfig test_config_;
rtc::scoped_refptr<AudioProcessing> apm_;
- TestConfig test_config_;
FrameCounters frame_counters_;
RenderProcessor render_thread_state_;
CaptureProcessor capture_thread_state_;
@@ -476,8 +474,24 @@
}
}
+AudioProcessing::Config GetApmTestConfig(AecType aec_type) {
+ AudioProcessing::Config apm_config;
+ apm_config.echo_canceller.enabled = aec_type != AecType::AecTurnedOff;
+ apm_config.echo_canceller.mobile_mode =
+ aec_type == AecType::BasicWebRtcAecSettingsWithAecMobile;
+ apm_config.gain_controller1.enabled = true;
+ apm_config.gain_controller1.mode =
+ AudioProcessing::Config::GainController1::kAdaptiveDigital;
+ apm_config.noise_suppression.enabled = true;
+ apm_config.voice_detection.enabled = true;
+ return apm_config;
+}
+
AudioProcessingImplLockTest::AudioProcessingImplLockTest()
- : apm_(AudioProcessingBuilderForTesting().Create()),
+ : test_config_(GetParam()),
+ apm_(AudioProcessingBuilderForTesting()
+ .SetConfig(GetApmTestConfig(test_config_.aec_type))
+ .Create()),
render_thread_state_(kMaxFrameSize,
&rand_gen_,
&render_call_event_,
@@ -508,22 +522,7 @@
return false;
}
-// Setup of test and APM.
-void AudioProcessingImplLockTest::SetUp() {
- test_config_ = static_cast<TestConfig>(GetParam());
-
- AudioProcessing::Config apm_config = apm_->GetConfig();
- apm_config.echo_canceller.enabled =
- (test_config_.aec_type != AecType::AecTurnedOff);
- apm_config.echo_canceller.mobile_mode =
- (test_config_.aec_type == AecType::BasicWebRtcAecSettingsWithAecMobile);
- apm_config.gain_controller1.enabled = true;
- apm_config.gain_controller1.mode =
- AudioProcessing::Config::GainController1::kAdaptiveDigital;
- apm_config.noise_suppression.enabled = true;
- apm_config.voice_detection.enabled = true;
- apm_->ApplyConfig(apm_config);
-}
+void AudioProcessingImplLockTest::SetUp() {}
void AudioProcessingImplLockTest::TearDown() {
render_call_event_.Set();
@@ -531,7 +530,7 @@
}
StatsProcessor::StatsProcessor(RandomGenerator* rand_gen,
- TestConfig* test_config,
+ const TestConfig* test_config,
AudioProcessing* apm)
: rand_gen_(rand_gen), test_config_(test_config), apm_(apm) {}
@@ -556,14 +555,12 @@
apm_->GetStatistics();
}
-const float CaptureProcessor::kCaptureInputFloatLevel = 0.03125f;
-
CaptureProcessor::CaptureProcessor(int max_frame_size,
RandomGenerator* rand_gen,
rtc::Event* render_call_event,
rtc::Event* capture_call_event,
FrameCounters* shared_counters_state,
- TestConfig* test_config,
+ const TestConfig* test_config,
AudioProcessing* apm)
: rand_gen_(rand_gen),
render_call_event_(render_call_event),
@@ -787,14 +784,12 @@
frame_data_.input_number_of_channels);
}
-const float RenderProcessor::kRenderInputFloatLevel = 0.5f;
-
RenderProcessor::RenderProcessor(int max_frame_size,
RandomGenerator* rand_gen,
rtc::Event* render_call_event,
rtc::Event* capture_call_event,
FrameCounters* shared_counters_state,
- TestConfig* test_config,
+ const TestConfig* test_config,
AudioProcessing* apm)
: rand_gen_(rand_gen),
render_call_event_(render_call_event),
@@ -1003,7 +998,7 @@
frame_data_.input_number_of_channels);
}
-} // anonymous namespace
+} // namespace
TEST_P(AudioProcessingImplLockTest, LockTest) {
// Run test and verify that it did not time out.