Add ToString method for AudioProcessing::Config Bug: webrtc:10138 Change-Id: Icc0b40596867fd6fb8c1de5ca209dbafb504e50d Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147726 Commit-Queue: Artem Titov <titovartem@webrtc.org> Reviewed-by: Ivo Creusen <ivoc@webrtc.org> Cr-Commit-Position: refs/heads/master@{#28745}
diff --git a/modules/audio_processing/include/audio_processing.cc b/modules/audio_processing/include/audio_processing.cc index 27cd882..46bb134 100644 --- a/modules/audio_processing/include/audio_processing.cc +++ b/modules/audio_processing/include/audio_processing.cc
@@ -10,9 +10,91 @@ #include "modules/audio_processing/include/audio_processing.h" +#include "rtc_base/strings/string_builder.h" + namespace webrtc { +namespace { + +std::string NoiseSuppressionLevelToString( + const AudioProcessing::Config::NoiseSuppression::Level& level) { + switch (level) { + case AudioProcessing::Config::NoiseSuppression::Level::kLow: + return "Low"; + case AudioProcessing::Config::NoiseSuppression::Level::kModerate: + return "Moderate"; + case AudioProcessing::Config::NoiseSuppression::Level::kHigh: + return "High"; + case AudioProcessing::Config::NoiseSuppression::Level::kVeryHigh: + return "VeryHigh"; + } +} + +std::string GainController1ModeToString( + const AudioProcessing::Config::GainController1::Mode& mode) { + switch (mode) { + case AudioProcessing::Config::GainController1::Mode::kAdaptiveAnalog: + return "AdaptiveAnalog"; + case AudioProcessing::Config::GainController1::Mode::kAdaptiveDigital: + return "AdaptiveDigital"; + case AudioProcessing::Config::GainController1::Mode::kFixedDigital: + return "FixedDigital"; + } +} + +std::string GainController2LevelEstimatorToString( + const AudioProcessing::Config::GainController2::LevelEstimator& level) { + switch (level) { + case AudioProcessing::Config::GainController2::LevelEstimator::kRms: + return "Rms"; + case AudioProcessing::Config::GainController2::LevelEstimator::kPeak: + return "Peak"; + } +} + +} // namespace void CustomProcessing::SetRuntimeSetting( AudioProcessing::RuntimeSetting setting) {} +std::string AudioProcessing::Config::ToString() const { + char buf[1024]; + rtc::SimpleStringBuilder builder(buf); + builder << "AudioProcessing::Config{ " + << "pre_amplifier: { enabled: " << pre_amplifier.enabled + << ", fixed_gain_factor: " << pre_amplifier.fixed_gain_factor + << " }, high_pass_filter: { enabled: " << high_pass_filter.enabled + << " }, echo_canceller: { enabled: " << echo_canceller.enabled + << ", mobile_mode: " << echo_canceller.mobile_mode + << ", legacy_moderate_suppression_level: " + << echo_canceller.legacy_moderate_suppression_level + << ", use_legacy_aec: " << echo_canceller.use_legacy_aec + << " }, noise_suppression: { enabled: " << noise_suppression.enabled + << ", level: " + << NoiseSuppressionLevelToString(noise_suppression.level) + << " }, voice_detection: { enabled: " << voice_detection.enabled + << " }, gain_controller1: { enabled: " << gain_controller1.enabled + << ", mode: " << GainController1ModeToString(gain_controller1.mode) + << ", target_level_dbfs: " << gain_controller1.target_level_dbfs + << ", compression_gain_db: " << gain_controller1.compression_gain_db + << ", enable_limiter: " << gain_controller1.enable_limiter + << ", analog_level_minimum: " << gain_controller1.analog_level_minimum + << ", analog_level_maximum: " << gain_controller1.analog_level_maximum + << " }, gain_controller2: { enabled: " << gain_controller2.enabled + << ", fixed_digital: { gain_db: " + << gain_controller2.fixed_digital.gain_db + << " }, adaptive_digital: { enabled: " + << gain_controller2.adaptive_digital.enabled << ", level_estimator: " + << GainController2LevelEstimatorToString( + gain_controller2.adaptive_digital.level_estimator) + << ", use_saturation_protector: " + << gain_controller2.adaptive_digital.use_saturation_protector + << ", extra_saturation_margin_db: " + << gain_controller2.adaptive_digital.extra_saturation_margin_db + << " } }, residual_echo_detector: { enabled: " + << residual_echo_detector.enabled + << " }, level_estimation: { enabled: " << level_estimation.enabled + << " } }"; + return builder.str(); +} + } // namespace webrtc
diff --git a/modules/audio_processing/include/audio_processing.h b/modules/audio_processing/include/audio_processing.h index 4bcace2..eb12a66 100644 --- a/modules/audio_processing/include/audio_processing.h +++ b/modules/audio_processing/include/audio_processing.h
@@ -370,6 +370,8 @@ } return *this; } + + std::string ToString() const; }; // TODO(mgraczyk): Remove once all methods that use ChannelLayout are gone.