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