Add ExperimentalNs support in Config
R=andrew@webrtc.org, xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/17829004
git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6567 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/modules/audio_processing/include/audio_processing.h b/modules/audio_processing/include/audio_processing.h
index 77c3f3a..1e494d1 100644
--- a/modules/audio_processing/include/audio_processing.h
+++ b/modules/audio_processing/include/audio_processing.h
@@ -73,6 +73,14 @@
bool enabled;
};
+// Use to enable experimental noise suppression. It can be set in the
+// constructor or using AudioProcessing::SetExtraOptions().
+struct ExperimentalNs {
+ ExperimentalNs() : enabled(false) {}
+ explicit ExperimentalNs(bool enabled) : enabled(enabled) {}
+ bool enabled;
+};
+
static const int kAudioProcMaxNativeSampleRateHz = 32000;
// The Audio Processing Module (APM) provides a collection of voice processing
diff --git a/modules/audio_processing/test/process_test.cc b/modules/audio_processing/test/process_test.cc
index a36a072..05f4b77 100644
--- a/modules/audio_processing/test/process_test.cc
+++ b/modules/audio_processing/test/process_test.cc
@@ -400,7 +400,9 @@
vad_out_filename = argv[i];
} else if (strcmp(argv[i], "-expns") == 0) {
- ASSERT_EQ(apm->kNoError, apm->EnableExperimentalNs(true));
+ Config config;
+ config.Set<ExperimentalNs>(new ExperimentalNs(true));
+ apm->SetExtraOptions(config);
} else if (strcmp(argv[i], "--noasm") == 0) {
WebRtc_GetCPUInfo = WebRtc_GetCPUInfoNoASM;
diff --git a/voice_engine/test/cmd_test/voe_cmd_test.cc b/voice_engine/test/cmd_test/voe_cmd_test.cc
index 4f6f132..d213af6 100644
--- a/voice_engine/test/cmd_test/voe_cmd_test.cc
+++ b/voice_engine/test/cmd_test/voe_cmd_test.cc
@@ -485,9 +485,9 @@
printf("\n NS is now off! \n");
} else if (option_selection == option_index++) {
experimental_ns_enabled = !experimental_ns_enabled;
- res = base1->audio_processing()->EnableExperimentalNs(
- experimental_ns_enabled);
- VALIDATE;
+ Config config;
+ config.Set<ExperimentalNs>(new ExperimentalNs(experimental_ns_enabled));
+ base1->audio_processing()->SetExtraOptions(config);
if (experimental_ns_enabled) {
printf("\n Experimental NS is now on!\n");
} else {