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

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

Issue 1348903004: Adding APM configuration in AEC dump. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: last commit was hasty, having an error Created 5 years, 2 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.cc
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.cc b/webrtc/modules/audio_processing/audio_processing_impl.cc
index 4ef4e6da6a307e6533e8ac9ddf39e888c2c52713..ddbbfe53c42c3e86148fe14e50bdfa042eb7fb21 100644
--- a/webrtc/modules/audio_processing/audio_processing_impl.cc
+++ b/webrtc/modules/audio_processing/audio_processing_impl.cc
@@ -561,6 +561,8 @@ int AudioProcessingImpl::ProcessStream(const float* const* src,
#ifdef WEBRTC_AUDIOPROC_DEBUG_DUMP
if (debug_file_->Open()) {
+ RETURN_ON_ERR(WriteConfigMessage(false));
+
event_msg_->set_type(audioproc::Event::STREAM);
audioproc::Stream* msg = event_msg_->mutable_stream();
const size_t channel_size =
@@ -946,10 +948,8 @@ int AudioProcessingImpl::StartDebugRecording(
return kFileError;
}
- int err = WriteInitMessage();
- if (err != kNoError) {
- return err;
- }
+ RETURN_ON_ERR(WriteConfigMessage(true));
+ RETURN_ON_ERR(WriteInitMessage());
return kNoError;
#else
return kUnsupportedFunctionError;
@@ -975,10 +975,8 @@ int AudioProcessingImpl::StartDebugRecording(FILE* handle) {
return kFileError;
}
- int err = WriteInitMessage();
- if (err != kNoError) {
- return err;
- }
+ RETURN_ON_ERR(WriteConfigMessage(true));
+ RETURN_ON_ERR(WriteInitMessage());
return kNoError;
#else
return kUnsupportedFunctionError;
@@ -1248,11 +1246,52 @@ int AudioProcessingImpl::WriteInitMessage() {
msg->set_output_sample_rate(api_format_.output_stream().sample_rate_hz());
// TODO(ekmeyerson): Add reverse output fields to event_msg_.
- int err = WriteMessageToDebugFile();
- if (err != kNoError) {
- return err;
+ RETURN_ON_ERR(WriteMessageToDebugFile());
+ return kNoError;
+}
+
+int AudioProcessingImpl::WriteConfigMessage(bool forced) {
+ audioproc::Config config;
+
+ config.set_aec_enabled(echo_cancellation_->is_enabled());
+ config.set_aec_delay_agnostic_enabled(
+ echo_cancellation_->is_delay_agnostic_enabled());
+ config.set_aec_drift_compensation_enabled(
+ echo_cancellation_->is_drift_compensation_enabled());
+ config.set_aec_extended_filter_enabled(
+ echo_cancellation_->is_extended_filter_enabled());
+ config.set_aec_suppression_level(
+ static_cast<int>(echo_cancellation_->suppression_level()));
+
+ config.set_aecm_enabled(echo_control_mobile_->is_enabled());
+ config.set_aecm_comfort_noise_enabled(
+ echo_control_mobile_->is_comfort_noise_enabled());
+ config.set_aecm_routing_mode(
+ static_cast<int>(echo_control_mobile_->routing_mode()));
+
+ config.set_agc_enabled(gain_control_->is_enabled());
+ config.set_agc_mode(static_cast<int>(gain_control_->mode()));
+ config.set_agc_limiter_enabled(gain_control_->is_limiter_enabled());
+ config.set_noise_robust_agc_enabled(use_new_agc_);
+
+ config.set_hpf_enabled(high_pass_filter_->is_enabled());
+
+ config.set_ns_enabled(noise_suppression_->is_enabled());
+ config.set_ns_level(static_cast<int>(noise_suppression_->level()));
+
+ config.set_transient_suppression_enabled(transient_suppressor_enabled_);
+
+ std::string serialized_config = config.SerializeAsString();
+ if (!forced && last_serialized_config_ == serialized_config) {
+ return kNoError;
}
+ last_serialized_config_ = serialized_config;
+
+ event_msg_->set_type(audioproc::Event::CONFIG);
+ event_msg_->mutable_config()->CopyFrom(config);
+
+ RETURN_ON_ERR(WriteMessageToDebugFile());
return kNoError;
}
#endif // WEBRTC_AUDIOPROC_DEBUG_DUMP
« no previous file with comments | « webrtc/modules/audio_processing/audio_processing_impl.h ('k') | webrtc/modules/audio_processing/debug.proto » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698