From 34fdc92119a4f2f3dd479ed665f50d6243c08e13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20=C3=85hgren?= Date: Wed, 10 Mar 2021 09:51:52 +0000 Subject: [PATCH] Add audioproc_f support for testing the runtime settings of whether the output is used MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: b/177830919 Change-Id: Iddcb79000f471eac165e3f44f14fad41435e6ccb Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211241 Reviewed-by: Sam Zackrisson Commit-Queue: Per Ã…hgren Cr-Commit-Position: refs/heads/master@{#33426} --- .../test/audio_processing_simulator.cc | 14 ++++++++++++++ .../test/audio_processing_simulator.h | 2 ++ .../test/audioproc_float_impl.cc | 16 ++++++++++++++++ 3 files changed, 32 insertions(+) diff --git a/modules/audio_processing/test/audio_processing_simulator.cc b/modules/audio_processing/test/audio_processing_simulator.cc index d08de7564e..19d9572e19 100644 --- a/modules/audio_processing/test/audio_processing_simulator.cc +++ b/modules/audio_processing/test/audio_processing_simulator.cc @@ -226,6 +226,20 @@ void AudioProcessingSimulator::ProcessStream(bool fixed_interface) { : analog_mic_level_); } + // Post any scheduled runtime settings. + if (settings_.frame_for_sending_capture_output_used_false && + *settings_.frame_for_sending_capture_output_used_false == + static_cast(num_process_stream_calls_)) { + ap_->PostRuntimeSetting( + AudioProcessing::RuntimeSetting::CreateCaptureOutputUsedSetting(false)); + } + if (settings_.frame_for_sending_capture_output_used_true && + *settings_.frame_for_sending_capture_output_used_true == + static_cast(num_process_stream_calls_)) { + ap_->PostRuntimeSetting( + AudioProcessing::RuntimeSetting::CreateCaptureOutputUsedSetting(true)); + } + // Process the current audio frame. if (fixed_interface) { { diff --git a/modules/audio_processing/test/audio_processing_simulator.h b/modules/audio_processing/test/audio_processing_simulator.h index 3418c395d8..f68448b718 100644 --- a/modules/audio_processing/test/audio_processing_simulator.h +++ b/modules/audio_processing/test/audio_processing_simulator.h @@ -124,6 +124,8 @@ struct SimulationSettings { absl::optional multi_channel_render; absl::optional multi_channel_capture; absl::optional simulated_mic_kind; + absl::optional frame_for_sending_capture_output_used_false; + absl::optional frame_for_sending_capture_output_used_true; bool report_performance = false; absl::optional performance_report_output_filename; bool report_bitexactness = false; diff --git a/modules/audio_processing/test/audioproc_float_impl.cc b/modules/audio_processing/test/audioproc_float_impl.cc index 767c93ddd8..c9abd0ad6c 100644 --- a/modules/audio_processing/test/audioproc_float_impl.cc +++ b/modules/audio_processing/test/audioproc_float_impl.cc @@ -201,6 +201,16 @@ ABSL_FLAG(int, simulated_mic_kind, kParameterNotSpecifiedValue, "Specify which microphone kind to use for microphone simulation"); +ABSL_FLAG(int, + frame_for_sending_capture_output_used_false, + kParameterNotSpecifiedValue, + "Capture frame index for sending a runtime setting for that the " + "capture output is not used."); +ABSL_FLAG(int, + frame_for_sending_capture_output_used_true, + kParameterNotSpecifiedValue, + "Capture frame index for sending a runtime setting for that the " + "capture output is used."); ABSL_FLAG(bool, performance_report, false, "Report the APM performance "); ABSL_FLAG(std::string, performance_report_output_file, @@ -451,6 +461,12 @@ SimulationSettings CreateSettings() { settings.simulate_mic_gain = absl::GetFlag(FLAGS_simulate_mic_gain); SetSettingIfSpecified(absl::GetFlag(FLAGS_simulated_mic_kind), &settings.simulated_mic_kind); + SetSettingIfSpecified( + absl::GetFlag(FLAGS_frame_for_sending_capture_output_used_false), + &settings.frame_for_sending_capture_output_used_false); + SetSettingIfSpecified( + absl::GetFlag(FLAGS_frame_for_sending_capture_output_used_true), + &settings.frame_for_sending_capture_output_used_true); settings.report_performance = absl::GetFlag(FLAGS_performance_report); SetSettingIfSpecified(absl::GetFlag(FLAGS_performance_report_output_file), &settings.performance_report_output_filename);