Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(423)

Unified Diff: webrtc/modules/audio_processing/audio_processing_impl.h

Issue 1348903004: Adding APM configuration in AEC dump. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: fixing an issue and let unittest pass Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/audio_processing/audio_processing_impl.h
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.h b/webrtc/modules/audio_processing/audio_processing_impl.h
index 15c6f7572f9a6e5a8fedebd2308676b1b166be43..ecf70957efaac839887054d56719965f492c4b0f 100644
--- a/webrtc/modules/audio_processing/audio_processing_impl.h
+++ b/webrtc/modules/audio_processing/audio_processing_impl.h
@@ -163,13 +163,64 @@ class AudioProcessingImpl : public AudioProcessing {
rtc::scoped_ptr<AudioBuffer> capture_audio_;
rtc::scoped_ptr<AudioConverter> render_converter_;
#ifdef WEBRTC_AUDIOPROC_DEBUG_DUMP
+ struct ApmConfig {
Andrew MacDonald 2015/09/26 02:36:19 Why do you need this thing?
minyue-webrtc 2015/09/26 16:26:44 Ivo had a good suggestion. It is now removed
+ bool operator!=(const ApmConfig &rhs) const {
+ return (
+ // AEC
peah-webrtc 2015/09/25 10:27:38 I think the style guide says that comments should
+ this->aec_enabled != rhs.aec_enabled ||
+ this->aec_delay_agnostic != rhs.aec_delay_agnostic ||
+ this->aec_drift_compensation != rhs.aec_drift_compensation ||
+ this->aec_extended_filter != rhs.aec_extended_filter ||
+ this->aec_suppression_level != rhs.aec_suppression_level ||
+ // AEC mobile
+ this->aecm_enabled != rhs.aecm_enabled ||
+ this->aecm_comfort_noise != rhs.aecm_comfort_noise ||
+ this->aecm_routing_mode != rhs.aecm_routing_mode ||
+ /// AGC
+ this->agc_enabled != rhs.agc_enabled ||
+ this->agc_experiment != rhs.agc_experiment ||
+ this->agc_mode != rhs.agc_mode ||
+ this->agc_limiter != rhs.agc_limiter ||
+ // HPF
+ this->hpf_enabled != rhs.hpf_enabled ||
+ // NS
+ this->ns_enabled != rhs.ns_enabled ||
+ this->ns_experiment != rhs.ns_experiment ||
+ this->ns_level != rhs.ns_level);
+ }
+ // Acoustic echo canceler
+ bool aec_enabled;
+ bool aec_delay_agnostic;
+ bool aec_drift_compensation;
+ bool aec_extended_filter;
+ EchoCancellation::SuppressionLevel aec_suppression_level;
+ // Mobile AEC
+ bool aecm_enabled;
+ bool aecm_comfort_noise;
+ EchoControlMobile::RoutingMode aecm_routing_mode;
+ // Automatic gain controller
+ bool agc_enabled;
+ bool agc_experiment;
+ GainControl::Mode agc_mode;
+ bool agc_limiter;
+ // High pass filter
+ bool hpf_enabled;
+ // Noise suppression
+ bool ns_enabled;
+ bool ns_experiment;
+ NoiseSuppression::Level ns_level;
+ }; // Configurations of APM components.
+
// TODO(andrew): make this more graceful. Ideally we would split this stuff
// out into a separate class with an "enabled" and "disabled" implementation.
int WriteMessageToDebugFile();
int WriteInitMessage();
+ int WriteConfigMessage();
+ ApmConfig GetCurrentConfig() const;
rtc::scoped_ptr<FileWrapper> debug_file_;
rtc::scoped_ptr<audioproc::Event> event_msg_; // Protobuf message.
std::string event_str_; // Memory for protobuf serialization.
+ ApmConfig config_;
#endif
// Format of processing streams at input/output call sites.

Powered by Google App Engine
This is Rietveld 408576698