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

Side by Side Diff: webrtc/modules/audio_processing/aec3/echo_canceller3.h

Issue 2967603002: Added the ability to adjust the AEC3 performance for large rooms (Closed)
Patch Set: Changes in response to reviewer commments Created 3 years, 5 months 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) 2016 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2016 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 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 // -Provides the lower level echo canceller functionality with 56 // -Provides the lower level echo canceller functionality with
57 // blocks of 64 samples of audio data. 57 // blocks of 64 samples of audio data.
58 // -Partially handles the jitter in the render and capture API 58 // -Partially handles the jitter in the render and capture API
59 // call sequence. 59 // call sequence.
60 // 60 //
61 // The class is supposed to be used in a non-concurrent manner apart from the 61 // The class is supposed to be used in a non-concurrent manner apart from the
62 // AnalyzeRender call which can be called concurrently with the other methods. 62 // AnalyzeRender call which can be called concurrently with the other methods.
63 class EchoCanceller3 { 63 class EchoCanceller3 {
64 public: 64 public:
65 // Normal c-tor to use. 65 // Normal c-tor to use.
66 EchoCanceller3(int sample_rate_hz, bool use_highpass_filter); 66 EchoCanceller3(const AudioProcessing::Config::EchoCanceller3& config,
67 int sample_rate_hz,
68 bool use_highpass_filter);
67 // Testing c-tor that is used only for testing purposes. 69 // Testing c-tor that is used only for testing purposes.
68 EchoCanceller3(int sample_rate_hz, 70 EchoCanceller3(int sample_rate_hz,
69 bool use_highpass_filter, 71 bool use_highpass_filter,
70 std::unique_ptr<BlockProcessor> block_processor); 72 std::unique_ptr<BlockProcessor> block_processor);
71 ~EchoCanceller3(); 73 ~EchoCanceller3();
72 // Analyzes and stores an internal copy of the split-band domain render 74 // Analyzes and stores an internal copy of the split-band domain render
73 // signal. 75 // signal.
74 void AnalyzeRender(AudioBuffer* farend); 76 void AnalyzeRender(AudioBuffer* farend);
75 // Analyzes the full-band domain capture signal to detect signal saturation. 77 // Analyzes the full-band domain capture signal to detect signal saturation.
76 void AnalyzeCapture(AudioBuffer* capture); 78 void AnalyzeCapture(AudioBuffer* capture);
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 bool saturated_microphone_signal_ GUARDED_BY(capture_race_checker_) = false; 127 bool saturated_microphone_signal_ GUARDED_BY(capture_race_checker_) = false;
126 std::vector<std::vector<float>> block_ GUARDED_BY(capture_race_checker_); 128 std::vector<std::vector<float>> block_ GUARDED_BY(capture_race_checker_);
127 std::vector<rtc::ArrayView<float>> sub_frame_view_ 129 std::vector<rtc::ArrayView<float>> sub_frame_view_
128 GUARDED_BY(capture_race_checker_); 130 GUARDED_BY(capture_race_checker_);
129 131
130 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(EchoCanceller3); 132 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(EchoCanceller3);
131 }; 133 };
132 } // namespace webrtc 134 } // namespace webrtc
133 135
134 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_AEC3_ECHO_CANCELLER3_H_ 136 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_AEC3_ECHO_CANCELLER3_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698