Add a parameter to audioproc for overriding the delay.
Rename the parameter for adding to the input delay to "add_delay".
R=bjornv@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2345007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4939 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/modules/audio_processing/test/process_test.cc b/webrtc/modules/audio_processing/test/process_test.cc
index cab93fe..b52ac98 100644
--- a/webrtc/modules/audio_processing/test/process_test.cc
+++ b/webrtc/modules/audio_processing/test/process_test.cc
@@ -133,7 +133,8 @@
printf("\n");
printf("Modifiers:\n");
printf(" --noasm Disable SSE optimization.\n");
- printf(" --delay DELAY Add DELAY ms to input value.\n");
+ printf(" --add_delay DELAY Add DELAY ms to input value.\n");
+ printf(" --delay DELAY Override input delay with DELAY ms.\n");
printf(" --perf Measure performance.\n");
printf(" --quiet Suppress text output.\n");
printf(" --no_progress Suppress progress.\n");
@@ -194,6 +195,7 @@
bool verbose = true;
bool progress = true;
int extra_delay_ms = 0;
+ int override_delay_ms = 0;
//bool interleaved = true;
ASSERT_EQ(apm->kNoError, apm->level_estimator()->Enable(true));
@@ -430,10 +432,14 @@
// We need to reinitialize here if components have already been enabled.
ASSERT_EQ(apm->kNoError, apm->Initialize());
- } else if (strcmp(argv[i], "--delay") == 0) {
+ } else if (strcmp(argv[i], "--add_delay") == 0) {
i++;
ASSERT_EQ(1, sscanf(argv[i], "%d", &extra_delay_ms));
+ } else if (strcmp(argv[i], "--delay") == 0) {
+ i++;
+ ASSERT_EQ(1, sscanf(argv[i], "%d", &override_delay_ms));
+
} else if (strcmp(argv[i], "--perf") == 0) {
perf_testing = true;
@@ -715,8 +721,12 @@
ASSERT_EQ(apm->kNoError,
apm->gain_control()->set_stream_analog_level(msg.level()));
+ delay_ms = msg.delay() + extra_delay_ms;
+ if (override_delay_ms) {
+ delay_ms = override_delay_ms;
+ }
ASSERT_EQ(apm->kNoError,
- apm->set_stream_delay_ms(msg.delay() + extra_delay_ms));
+ apm->set_stream_delay_ms(delay_ms));
apm->echo_cancellation()->set_stream_drift_samples(msg.drift());
int err = apm->ProcessStream(&near_frame);
@@ -918,8 +928,12 @@
const int capture_level_in = capture_level;
ASSERT_EQ(apm->kNoError,
apm->gain_control()->set_stream_analog_level(capture_level));
+ delay_ms += extra_delay_ms;
+ if (override_delay_ms) {
+ delay_ms = override_delay_ms;
+ }
ASSERT_EQ(apm->kNoError,
- apm->set_stream_delay_ms(delay_ms + extra_delay_ms));
+ apm->set_stream_delay_ms(delay_ms));
apm->echo_cancellation()->set_stream_drift_samples(drift_samples);
int err = apm->ProcessStream(&near_frame);