Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / webrtc / modules / audio_processing / noise_suppression_impl.cc
index eea0a04..ab8dada 100644 (file)
@@ -55,6 +55,27 @@ NoiseSuppressionImpl::NoiseSuppressionImpl(const AudioProcessing* apm,
 
 NoiseSuppressionImpl::~NoiseSuppressionImpl() {}
 
+int NoiseSuppressionImpl::AnalyzeCaptureAudio(AudioBuffer* audio) {
+#if defined(WEBRTC_NS_FLOAT)
+  if (!is_component_enabled()) {
+    return apm_->kNoError;
+  }
+  assert(audio->samples_per_split_channel() <= 160);
+  assert(audio->num_channels() == num_handles());
+
+  for (int i = 0; i < num_handles(); ++i) {
+    Handle* my_handle = static_cast<Handle*>(handle(i));
+
+    int err = WebRtcNs_Analyze(my_handle,
+                               audio->low_pass_split_data_f(i));
+    if (err != apm_->kNoError) {
+      return GetHandleError(my_handle);
+    }
+  }
+#endif
+  return apm_->kNoError;
+}
+
 int NoiseSuppressionImpl::ProcessCaptureAudio(AudioBuffer* audio) {
   int err = apm_->kNoError;
 
@@ -64,16 +85,16 @@ int NoiseSuppressionImpl::ProcessCaptureAudio(AudioBuffer* audio) {
   assert(audio->samples_per_split_channel() <= 160);
   assert(audio->num_channels() == num_handles());
 
-  for (int i = 0; i < num_handles(); i++) {
+  for (int i = 0; i < num_handles(); ++i) {
     Handle* my_handle = static_cast<Handle*>(handle(i));
 #if defined(WEBRTC_NS_FLOAT)
-    err = WebRtcNs_Process(static_cast<Handle*>(handle(i)),
+    err = WebRtcNs_Process(my_handle,
                            audio->low_pass_split_data_f(i),
                            audio->high_pass_split_data_f(i),
                            audio->low_pass_split_data_f(i),
                            audio->high_pass_split_data_f(i));
 #elif defined(WEBRTC_NS_FIXED)
-    err = WebRtcNsx_Process(static_cast<Handle*>(handle(i)),
+    err = WebRtcNsx_Process(my_handle,
                             audio->low_pass_split_data(i),
                             audio->high_pass_split_data(i),
                             audio->low_pass_split_data(i),