Index: webrtc/modules/audio_processing/level_controller/level_controller_unittest.cc |
diff --git a/webrtc/modules/audio_processing/level_controller/level_controller_unittest.cc b/webrtc/modules/audio_processing/level_controller/level_controller_unittest.cc |
index ed842b6e27df03169f3651226b4ffae1e9a3d150..3c07cb6dcbbc079b0791b7099b8af7deb05f2d54 100644 |
--- a/webrtc/modules/audio_processing/level_controller/level_controller_unittest.cc |
+++ b/webrtc/modules/audio_processing/level_controller/level_controller_unittest.cc |
@@ -11,6 +11,7 @@ |
#include <vector> |
#include "webrtc/base/array_view.h" |
+#include "webrtc/base/optional.h" |
#include "webrtc/modules/audio_processing/audio_buffer.h" |
#include "webrtc/modules/audio_processing/include/audio_processing.h" |
#include "webrtc/modules/audio_processing/level_controller/level_controller.h" |
@@ -27,9 +28,15 @@ const int kNumFramesToProcess = 1000; |
// any errors. |
void RunBitexactnessTest(int sample_rate_hz, |
size_t num_channels, |
+ rtc::Optional<float> initial_peak_level_dbfs, |
rtc::ArrayView<const float> output_reference) { |
LevelController level_controller; |
level_controller.Initialize(sample_rate_hz); |
+ if (initial_peak_level_dbfs) { |
+ AudioProcessing::Config::LevelController config; |
+ config.initial_peak_level_dbfs = *initial_peak_level_dbfs; |
+ level_controller.ApplyConfig(config); |
+ } |
int samples_per_channel = rtc::CheckedDivExact(sample_rate_hz, 100); |
const StreamConfig capture_config(sample_rate_hz, num_channels, false); |
@@ -68,41 +75,35 @@ void RunBitexactnessTest(int sample_rate_hz, |
} // namespace |
-TEST(LevelControlConfigTest, ToStringEnabled) { |
+TEST(LevelControllerConfig, ToString) { |
AudioProcessing::Config config; |
config.level_controller.enabled = true; |
- EXPECT_EQ("{enabled: true}", |
+ config.level_controller.initial_peak_level_dbfs = -6.0206f; |
+ EXPECT_EQ("{enabled: true, initial_peak_level_dbfs: -6.0206}", |
LevelController::ToString(config.level_controller)); |
-} |
-TEST(LevelControlConfigTest, ToStringNotEnabled) { |
- AudioProcessing::Config config; |
config.level_controller.enabled = false; |
- EXPECT_EQ("{enabled: false}", |
+ config.level_controller.initial_peak_level_dbfs = -50.f; |
+ EXPECT_EQ("{enabled: false, initial_peak_level_dbfs: -50}", |
LevelController::ToString(config.level_controller)); |
} |
-TEST(LevelControlConfigTest, DefaultValue) { |
- AudioProcessing::Config config; |
- EXPECT_FALSE(config.level_controller.enabled); |
-} |
- |
TEST(LevelControlBitExactnessTest, DISABLED_Mono8kHz) { |
const float kOutputReference[] = {-0.013939f, -0.012154f, -0.009054f}; |
RunBitexactnessTest(AudioProcessing::kSampleRate8kHz, 1, |
- kOutputReference); |
+ rtc::Optional<float>(), kOutputReference); |
} |
TEST(LevelControlBitExactnessTest, DISABLED_Mono16kHz) { |
const float kOutputReference[] = {-0.013706f, -0.013215f, -0.013018f}; |
RunBitexactnessTest(AudioProcessing::kSampleRate16kHz, 1, |
- kOutputReference); |
+ rtc::Optional<float>(), kOutputReference); |
} |
TEST(LevelControlBitExactnessTest, DISABLED_Mono32kHz) { |
const float kOutputReference[] = {-0.014495f, -0.016425f, -0.016085f}; |
RunBitexactnessTest(AudioProcessing::kSampleRate32kHz, 1, |
- kOutputReference); |
+ rtc::Optional<float>(), kOutputReference); |
} |
// TODO(peah): Investigate why this particular testcase differ between Android |
@@ -115,37 +116,41 @@ TEST(LevelControlBitExactnessTest, DISABLED_Mono48kHz) { |
const float kOutputReference[] = {-0.015949f, -0.016957f, -0.019478f}; |
#endif |
RunBitexactnessTest(AudioProcessing::kSampleRate48kHz, 1, |
- kOutputReference); |
+ rtc::Optional<float>(), kOutputReference); |
} |
TEST(LevelControlBitExactnessTest, DISABLED_Stereo8kHz) { |
const float kOutputReference[] = {-0.014063f, -0.008450f, -0.012159f, |
-0.051967f, -0.023202f, -0.047858f}; |
RunBitexactnessTest(AudioProcessing::kSampleRate8kHz, 2, |
- kOutputReference); |
+ rtc::Optional<float>(), kOutputReference); |
} |
TEST(LevelControlBitExactnessTest, DISABLED_Stereo16kHz) { |
const float kOutputReference[] = {-0.012714f, -0.005896f, -0.012220f, |
-0.053306f, -0.024549f, -0.051527f}; |
RunBitexactnessTest(AudioProcessing::kSampleRate16kHz, 2, |
- kOutputReference); |
+ rtc::Optional<float>(), kOutputReference); |
} |
TEST(LevelControlBitExactnessTest, DISABLED_Stereo32kHz) { |
const float kOutputReference[] = {-0.011737f, -0.007018f, -0.013446f, |
-0.053505f, -0.026292f, -0.056221f}; |
RunBitexactnessTest(AudioProcessing::kSampleRate32kHz, 2, |
- kOutputReference); |
+ rtc::Optional<float>(), kOutputReference); |
} |
TEST(LevelControlBitExactnessTest, DISABLED_Stereo48kHz) { |
const float kOutputReference[] = {-0.010643f, -0.006334f, -0.011377f, |
-0.049088f, -0.023600f, -0.050465f}; |
RunBitexactnessTest(AudioProcessing::kSampleRate48kHz, 2, |
- kOutputReference); |
+ rtc::Optional<float>(), kOutputReference); |
} |
- |
+TEST(LevelControlBitExactnessTest, DISABLED_MonoInitial48kHz) { |
+ const float kOutputReference[] = {-0.013753f, -0.014623f, -0.016797f}; |
+ RunBitexactnessTest(AudioProcessing::kSampleRate48kHz, 1, |
+ rtc::Optional<float>(-50), kOutputReference); |
+} |
} // namespace webrtc |