Index: webrtc/modules/audio_processing/noise_suppression_impl.h |
diff --git a/webrtc/modules/audio_processing/noise_suppression_impl.h b/webrtc/modules/audio_processing/noise_suppression_impl.h |
index 1564fe586c5dc5e54431eff451d47b65a0706468..a3b346050f184e0faed2583612bc8bae091ceb7d 100644 |
--- a/webrtc/modules/audio_processing/noise_suppression_impl.h |
+++ b/webrtc/modules/audio_processing/noise_suppression_impl.h |
@@ -11,49 +11,40 @@ |
#ifndef WEBRTC_MODULES_AUDIO_PROCESSING_NOISE_SUPPRESSION_IMPL_H_ |
#define WEBRTC_MODULES_AUDIO_PROCESSING_NOISE_SUPPRESSION_IMPL_H_ |
+#include "webrtc/base/constructormagic.h" |
#include "webrtc/base/criticalsection.h" |
+#include "webrtc/base/scoped_ptr.h" |
#include "webrtc/modules/audio_processing/include/audio_processing.h" |
-#include "webrtc/modules/audio_processing/processing_component.h" |
namespace webrtc { |
class AudioBuffer; |
-class NoiseSuppressionImpl : public NoiseSuppression, |
- public ProcessingComponent { |
+class NoiseSuppressionImpl : public NoiseSuppression { |
public: |
- NoiseSuppressionImpl(const AudioProcessing* apm, rtc::CriticalSection* crit); |
- virtual ~NoiseSuppressionImpl(); |
+ explicit NoiseSuppressionImpl(rtc::CriticalSection* crit); |
+ ~NoiseSuppressionImpl() override; |
+ // TODO(peah): Fold into ctor, once public API is removed. |
+ void Initialize(int channels, int sample_rate_hz); |
int AnalyzeCaptureAudio(AudioBuffer* audio); |
int ProcessCaptureAudio(AudioBuffer* audio); |
// NoiseSuppression implementation. |
+ int Enable(bool enable) override; |
bool is_enabled() const override; |
- float speech_probability() const override; |
+ int set_level(Level level) override; |
Level level() const override; |
+ float speech_probability() const override; |
private: |
- // NoiseSuppression implementation. |
- int Enable(bool enable) override; |
- int set_level(Level level) override; |
- |
- // ProcessingComponent implementation. |
- void* CreateHandle() const override; |
- int InitializeHandle(void* handle) const override; |
- int ConfigureHandle(void* handle) const override; |
- void DestroyHandle(void* handle) const override; |
- int num_handles_required() const override; |
- int GetHandleError(void* handle) const override; |
- |
- // Not guarded as its public API is thread safe. |
- const AudioProcessing* apm_; |
- |
+ class Suppressor; |
rtc::CriticalSection* const crit_; |
- |
- Level level_ GUARDED_BY(crit_); |
+ bool enabled_ GUARDED_BY(crit_) = false; |
+ Level level_ GUARDED_BY(crit_) = kModerate; |
+ std::vector<rtc::scoped_ptr<Suppressor>> suppressors_ GUARDED_BY(crit_); |
+ RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(NoiseSuppressionImpl); |
}; |
- |
} // namespace webrtc |
#endif // WEBRTC_MODULES_AUDIO_PROCESSING_NOISE_SUPPRESSION_IMPL_H_ |