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 |