| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 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 | 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 | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 std::string GetExperimentsDescription(); | 50 std::string GetExperimentsDescription(); |
| 51 bool is_refined_adaptive_filter_enabled() const; | 51 bool is_refined_adaptive_filter_enabled() const; |
| 52 | 52 |
| 53 // Reads render side data that has been queued on the render call. | 53 // Reads render side data that has been queued on the render call. |
| 54 // Called holding the capture lock. | 54 // Called holding the capture lock. |
| 55 void ReadQueuedRenderData(); | 55 void ReadQueuedRenderData(); |
| 56 | 56 |
| 57 // Returns the system delay of the first AEC component. | 57 // Returns the system delay of the first AEC component. |
| 58 int GetSystemDelayInSamples() const; | 58 int GetSystemDelayInSamples() const; |
| 59 | 59 |
| 60 // Enable logging of various AEC statistics. |
| 61 int enable_metrics(bool enable) override; |
| 62 |
| 63 // Provides various statistics about the AEC. |
| 64 int GetMetrics(Metrics* metrics) override; |
| 65 |
| 66 // Enable logging of delay metrics. |
| 67 int enable_delay_logging(bool enable) override; |
| 68 |
| 69 // Provides delay metrics. |
| 70 int GetDelayMetrics(int* median, |
| 71 int* std, |
| 72 float* fraction_poor_delays) override; |
| 73 |
| 60 private: | 74 private: |
| 61 class Canceller; | 75 class Canceller; |
| 62 struct StreamProperties; | 76 struct StreamProperties; |
| 63 | 77 |
| 64 // EchoCancellation implementation. | 78 // EchoCancellation implementation. |
| 65 int Enable(bool enable) override; | 79 int Enable(bool enable) override; |
| 66 int enable_drift_compensation(bool enable) override; | 80 int enable_drift_compensation(bool enable) override; |
| 67 void set_stream_drift_samples(int drift) override; | 81 void set_stream_drift_samples(int drift) override; |
| 68 int set_suppression_level(SuppressionLevel level) override; | 82 int set_suppression_level(SuppressionLevel level) override; |
| 69 int enable_metrics(bool enable) override; | |
| 70 bool are_metrics_enabled() const override; | 83 bool are_metrics_enabled() const override; |
| 71 bool stream_has_echo() const override; | 84 bool stream_has_echo() const override; |
| 72 int GetMetrics(Metrics* metrics) override; | |
| 73 int enable_delay_logging(bool enable) override; | |
| 74 bool is_delay_logging_enabled() const override; | 85 bool is_delay_logging_enabled() const override; |
| 75 int GetDelayMetrics(int* median, int* std) override; | 86 int GetDelayMetrics(int* median, int* std) override; |
| 76 int GetDelayMetrics(int* median, | |
| 77 int* std, | |
| 78 float* fraction_poor_delays) override; | |
| 79 | 87 |
| 80 struct AecCore* aec_core() const override; | 88 struct AecCore* aec_core() const override; |
| 81 | 89 |
| 82 size_t NumCancellersRequired() const; | 90 size_t NumCancellersRequired() const; |
| 83 | 91 |
| 84 void AllocateRenderQueue(); | 92 void AllocateRenderQueue(); |
| 85 int Configure(); | 93 int Configure(); |
| 86 | 94 |
| 87 rtc::CriticalSection* const crit_render_ ACQUIRED_BEFORE(crit_capture_); | 95 rtc::CriticalSection* const crit_render_ ACQUIRED_BEFORE(crit_capture_); |
| 88 rtc::CriticalSection* const crit_capture_; | 96 rtc::CriticalSection* const crit_capture_; |
| (...skipping 22 matching lines...) Expand all Loading... |
| 111 | 119 |
| 112 std::vector<std::unique_ptr<Canceller>> cancellers_; | 120 std::vector<std::unique_ptr<Canceller>> cancellers_; |
| 113 std::unique_ptr<StreamProperties> stream_properties_; | 121 std::unique_ptr<StreamProperties> stream_properties_; |
| 114 | 122 |
| 115 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(EchoCancellationImpl); | 123 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(EchoCancellationImpl); |
| 116 }; | 124 }; |
| 117 | 125 |
| 118 } // namespace webrtc | 126 } // namespace webrtc |
| 119 | 127 |
| 120 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_ECHO_CANCELLATION_IMPL_H_ | 128 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_ECHO_CANCELLATION_IMPL_H_ |
| OLD | NEW |