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

Unified Diff: webrtc/modules/audio_processing/level_controller/level_controller_unittest.cc

Issue 2337083002: Reland of added functionality for specifying the initial signal level to use for the gain estimation (Closed)
Patch Set: Fixed type conversion error Created 4 years, 2 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_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

Powered by Google App Engine
This is Rietveld 408576698