Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(243)

Side by Side Diff: webrtc/modules/audio_processing/echo_cancellation_impl.h

Issue 2433153003: New statistics interface for APM (Closed)
Patch Set: More comments. Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698