| OLD | NEW | 
| (Empty) |  | 
 |   1 /* | 
 |   2  *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 
 |   3  * | 
 |   4  *  Use of this source code is governed by a BSD-style license | 
 |   5  *  that can be found in the LICENSE file in the root of the source | 
 |   6  *  tree. An additional intellectual property rights grant can be found | 
 |   7  *  in the file PATENTS.  All contributing project authors may | 
 |   8  *  be found in the AUTHORS file in the root of the source tree. | 
 |   9  */ | 
 |  10  | 
 |  11 #ifndef WEBRTC_MODULES_AUDIO_PROCESSING_AEC3_ECHO_CANCELLER3_H_ | 
 |  12 #define WEBRTC_MODULES_AUDIO_PROCESSING_AEC3_ECHO_CANCELLER3_H_ | 
 |  13  | 
 |  14 #include <string> | 
 |  15  | 
 |  16 #include "webrtc/base/constructormagic.h" | 
 |  17 #include "webrtc/modules/audio_processing/audio_buffer.h" | 
 |  18  | 
 |  19 namespace webrtc { | 
 |  20  | 
 |  21 class EchoCanceller3 { | 
 |  22  public: | 
 |  23   EchoCanceller3(int sample_rate_hz, bool use_anti_hum_filter); | 
 |  24   ~EchoCanceller3(); | 
 |  25   // Analyzes and stores an internal copy of the split-band domain render | 
 |  26   // signal. | 
 |  27   bool AnalyzeRender(AudioBuffer* farend); | 
 |  28   // Analyzes the full-band domain capture signal to detect signal saturation. | 
 |  29   void AnalyzeCapture(AudioBuffer* capture); | 
 |  30   // Processes the split-band domain capture signal in order to remove any echo | 
 |  31   // present in the signal. | 
 |  32   void ProcessCapture(AudioBuffer* capture, bool known_echo_path_change); | 
 |  33  | 
 |  34   // Validates a config. | 
 |  35   static bool Validate(const AudioProcessing::Config::EchoCanceller3& config); | 
 |  36   // Dumps a config to a string. | 
 |  37   static std::string ToString( | 
 |  38       const AudioProcessing::Config::EchoCanceller3& config); | 
 |  39  | 
 |  40  private: | 
 |  41   static int instance_count_; | 
 |  42   size_t frame_length_; | 
 |  43  | 
 |  44   RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(EchoCanceller3); | 
 |  45 }; | 
 |  46 }  // namespace webrtc | 
 |  47  | 
 |  48 #endif  // WEBRTC_MODULES_AUDIO_PROCESSING_AEC3_ECHO_CANCELLER3_H_ | 
| OLD | NEW |