Added an audioproc option to not report the stream delay

Bug: webrtc:9316
Change-Id: If7a20bbac998e9a779579650f3eb9019f974e9a8
Reviewed-on: https://webrtc-review.googlesource.com/79141
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23415}
diff --git a/modules/audio_processing/test/aec_dump_based_simulator.cc b/modules/audio_processing/test/aec_dump_based_simulator.cc
index 9ddf294..495318a 100644
--- a/modules/audio_processing/test/aec_dump_based_simulator.cc
+++ b/modules/audio_processing/test/aec_dump_based_simulator.cc
@@ -133,14 +133,16 @@
     }
   }
 
-  if (!settings_.stream_delay) {
-    if (msg.has_delay()) {
+  if (!settings_.use_stream_delay || *settings_.use_stream_delay) {
+    if (!settings_.stream_delay) {
+      if (msg.has_delay()) {
+        RTC_CHECK_EQ(AudioProcessing::kNoError,
+                     ap_->set_stream_delay_ms(msg.delay()));
+      }
+    } else {
       RTC_CHECK_EQ(AudioProcessing::kNoError,
-                   ap_->set_stream_delay_ms(msg.delay()));
+                   ap_->set_stream_delay_ms(*settings_.stream_delay));
     }
-  } else {
-    RTC_CHECK_EQ(AudioProcessing::kNoError,
-                 ap_->set_stream_delay_ms(*settings_.stream_delay));
   }
 
   if (!settings_.stream_drift_samples) {
diff --git a/modules/audio_processing/test/audio_processing_simulator.h b/modules/audio_processing/test/audio_processing_simulator.h
index 446244d..996df71 100644
--- a/modules/audio_processing/test/audio_processing_simulator.h
+++ b/modules/audio_processing/test/audio_processing_simulator.h
@@ -35,6 +35,7 @@
   SimulationSettings(const SimulationSettings&);
   ~SimulationSettings();
   rtc::Optional<int> stream_delay;
+  rtc::Optional<bool> use_stream_delay;
   rtc::Optional<int> stream_drift_samples;
   rtc::Optional<int> output_sample_rate_hz;
   rtc::Optional<int> output_num_channels;
diff --git a/modules/audio_processing/test/audioproc_float_impl.cc b/modules/audio_processing/test/audioproc_float_impl.cc
index 6d84a8d..57fcdfb 100644
--- a/modules/audio_processing/test/audioproc_float_impl.cc
+++ b/modules/audio_processing/test/audioproc_float_impl.cc
@@ -165,6 +165,9 @@
 DEFINE_int(stream_delay,
            kParameterNotSpecifiedValue,
            "Specify the stream delay in ms to use");
+DEFINE_int(use_stream_delay,
+           kParameterNotSpecifiedValue,
+           "Activate (1) or deactivate(0) reporting the stream delay");
 DEFINE_int(stream_drift_samples,
            kParameterNotSpecifiedValue,
            "Specify the number of stream drift samples to use");
@@ -286,6 +289,7 @@
   SetSettingIfSpecified(FLAG_vad_likelihood, &settings.vad_likelihood);
   SetSettingIfSpecified(FLAG_ns_level, &settings.ns_level);
   SetSettingIfSpecified(FLAG_stream_delay, &settings.stream_delay);
+  SetSettingIfFlagSet(FLAG_use_stream_delay, &settings.use_stream_delay);
   SetSettingIfSpecified(FLAG_stream_drift_samples,
                         &settings.stream_drift_samples);
   SetSettingIfSpecified(FLAG_custom_call_order_file,
diff --git a/modules/audio_processing/test/wav_based_simulator.cc b/modules/audio_processing/test/wav_based_simulator.cc
index 7f23c62..908a2e6 100644
--- a/modules/audio_processing/test/wav_based_simulator.cc
+++ b/modules/audio_processing/test/wav_based_simulator.cc
@@ -74,9 +74,11 @@
   }
   ap_->set_stream_key_pressed(settings_.use_ts && (*settings_.use_ts));
 
-  RTC_CHECK_EQ(AudioProcessing::kNoError,
-               ap_->set_stream_delay_ms(
-                   settings_.stream_delay ? *settings_.stream_delay : 0));
+  if (!settings_.use_stream_delay || *settings_.use_stream_delay) {
+    RTC_CHECK_EQ(AudioProcessing::kNoError,
+                 ap_->set_stream_delay_ms(
+                     settings_.stream_delay ? *settings_.stream_delay : 0));
+  }
 
   ap_->echo_cancellation()->set_stream_drift_samples(
       settings_.stream_drift_samples ? *settings_.stream_drift_samples : 0);