| 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
|
|
|