| OLD | NEW | 
 | (Empty) | 
|   1 /* |  | 
|   2  *  Copyright (c) 2012 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_VOICE_ENGINE_VOE_AUDIO_PROCESSING_IMPL_H |  | 
|  12 #define WEBRTC_VOICE_ENGINE_VOE_AUDIO_PROCESSING_IMPL_H |  | 
|  13  |  | 
|  14 #include "webrtc/voice_engine/include/voe_audio_processing.h" |  | 
|  15  |  | 
|  16 #include "webrtc/voice_engine/shared_data.h" |  | 
|  17  |  | 
|  18 namespace webrtc { |  | 
|  19  |  | 
|  20 class VoEAudioProcessingImpl : public VoEAudioProcessing { |  | 
|  21  public: |  | 
|  22   int SetNsStatus(bool enable, NsModes mode = kNsUnchanged) override; |  | 
|  23  |  | 
|  24   int GetNsStatus(bool& enabled, NsModes& mode) override; |  | 
|  25  |  | 
|  26   int SetAgcStatus(bool enable, AgcModes mode = kAgcUnchanged) override; |  | 
|  27  |  | 
|  28   int GetAgcStatus(bool& enabled, AgcModes& mode) override; |  | 
|  29  |  | 
|  30   int SetAgcConfig(AgcConfig config) override; |  | 
|  31  |  | 
|  32   int GetAgcConfig(AgcConfig& config) override; |  | 
|  33  |  | 
|  34   int SetEcStatus(bool enable, EcModes mode = kEcUnchanged) override; |  | 
|  35   int GetEcStatus(bool& enabled, EcModes& mode) override; |  | 
|  36   int EnableDriftCompensation(bool enable) override; |  | 
|  37   bool DriftCompensationEnabled() override; |  | 
|  38  |  | 
|  39   void SetDelayOffsetMs(int offset) override; |  | 
|  40   int DelayOffsetMs() override; |  | 
|  41  |  | 
|  42   int SetAecmMode(AecmModes mode = kAecmSpeakerphone, |  | 
|  43                   bool enableCNG = true) override; |  | 
|  44  |  | 
|  45   int GetAecmMode(AecmModes& mode, bool& enabledCNG) override; |  | 
|  46  |  | 
|  47   int EnableHighPassFilter(bool enable) override; |  | 
|  48   bool IsHighPassFilterEnabled() override; |  | 
|  49  |  | 
|  50   int VoiceActivityIndicator(int channel) override; |  | 
|  51  |  | 
|  52   int SetEcMetricsStatus(bool enable) override; |  | 
|  53  |  | 
|  54   int GetEcMetricsStatus(bool& enabled) override; |  | 
|  55  |  | 
|  56   int GetEchoMetrics(int& ERL, int& ERLE, int& RERL, int& A_NLP) override; |  | 
|  57  |  | 
|  58   int GetEcDelayMetrics(int& delay_median, |  | 
|  59                         int& delay_std, |  | 
|  60                         float& fraction_poor_delays) override; |  | 
|  61  |  | 
|  62   int StartDebugRecording(const char* fileNameUTF8) override; |  | 
|  63   int StartDebugRecording(FILE* file_handle) override; |  | 
|  64  |  | 
|  65   int StopDebugRecording() override; |  | 
|  66  |  | 
|  67   int SetTypingDetectionStatus(bool enable) override; |  | 
|  68  |  | 
|  69   int GetTypingDetectionStatus(bool& enabled) override; |  | 
|  70  |  | 
|  71   int TimeSinceLastTyping(int& seconds) override; |  | 
|  72  |  | 
|  73   // TODO(niklase) Remove default argument as soon as libJingle is updated! |  | 
|  74   int SetTypingDetectionParameters(int timeWindow, |  | 
|  75                                    int costPerTyping, |  | 
|  76                                    int reportingThreshold, |  | 
|  77                                    int penaltyDecay, |  | 
|  78                                    int typeEventDelay = 0) override; |  | 
|  79  |  | 
|  80   void EnableStereoChannelSwapping(bool enable) override; |  | 
|  81   bool IsStereoChannelSwappingEnabled() override; |  | 
|  82  |  | 
|  83  protected: |  | 
|  84   VoEAudioProcessingImpl(voe::SharedData* shared); |  | 
|  85   ~VoEAudioProcessingImpl() override; |  | 
|  86  |  | 
|  87  private: |  | 
|  88   bool _isAecMode; |  | 
|  89   voe::SharedData* _shared; |  | 
|  90 }; |  | 
|  91  |  | 
|  92 }  // namespace webrtc |  | 
|  93  |  | 
|  94 #endif  // WEBRTC_VOICE_ENGINE_VOE_AUDIO_PROCESSING_IMPL_H |  | 
| OLD | NEW |