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 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 // several parameters: i) filter adaptation stepsize and error threshold; | 47 // several parameters: i) filter adaptation stepsize and error threshold; |
48 // ii) non-linear processing smoothing and overdrive. | 48 // ii) non-linear processing smoothing and overdrive. |
49 // - Option to ignore the reported delays on platforms which we deem | 49 // - Option to ignore the reported delays on platforms which we deem |
50 // sufficiently unreliable. See WEBRTC_UNTRUSTED_DELAY in echo_cancellation.c. | 50 // sufficiently unreliable. See WEBRTC_UNTRUSTED_DELAY in echo_cancellation.c. |
51 // - Faster startup times by removing the excessive "startup phase" processing | 51 // - Faster startup times by removing the excessive "startup phase" processing |
52 // of reported delays. | 52 // of reported delays. |
53 // - Much more conservative adjustments to the far-end read pointer. We smooth | 53 // - Much more conservative adjustments to the far-end read pointer. We smooth |
54 // the delay difference more heavily, and back off from the difference more. | 54 // the delay difference more heavily, and back off from the difference more. |
55 // Adjustments force a readaptation of the filter, so they should be avoided | 55 // Adjustments force a readaptation of the filter, so they should be avoided |
56 // except when really necessary. | 56 // except when really necessary. |
57 // TODO(henrik.lundin): Remove DelayCorrection once ExtendedFilter has | |
58 // propagated through to all channels | |
59 // (https://code.google.com/p/webrtc/issues/detail?id=4696). | |
60 struct DelayCorrection { | |
61 DelayCorrection() : enabled(false) {} | |
62 explicit DelayCorrection(bool enabled) : enabled(enabled) {} | |
63 bool enabled; | |
64 }; | |
65 struct ExtendedFilter { | 57 struct ExtendedFilter { |
66 ExtendedFilter() : enabled(false) {} | 58 ExtendedFilter() : enabled(false) {} |
67 explicit ExtendedFilter(bool enabled) : enabled(enabled) {} | 59 explicit ExtendedFilter(bool enabled) : enabled(enabled) {} |
68 bool enabled; | 60 bool enabled; |
69 }; | 61 }; |
70 | 62 |
71 // Use to disable the reported system delays. By disabling the reported system | 63 // Use to disable the reported system delays. By disabling the reported system |
72 // delays the echo cancellation algorithm assumes the process and reverse | 64 // delays the echo cancellation algorithm assumes the process and reverse |
73 // streams to be aligned. This configuration only applies to EchoCancellation | 65 // streams to be aligned. This configuration only applies to EchoCancellation |
74 // and not EchoControlMobile and is set with AudioProcessing::SetExtraOptions(). | 66 // and not EchoControlMobile and is set with AudioProcessing::SetExtraOptions(). |
(...skipping 715 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
790 // This does not impact the size of frames passed to |ProcessStream()|. | 782 // This does not impact the size of frames passed to |ProcessStream()|. |
791 virtual int set_frame_size_ms(int size) = 0; | 783 virtual int set_frame_size_ms(int size) = 0; |
792 virtual int frame_size_ms() const = 0; | 784 virtual int frame_size_ms() const = 0; |
793 | 785 |
794 protected: | 786 protected: |
795 virtual ~VoiceDetection() {} | 787 virtual ~VoiceDetection() {} |
796 }; | 788 }; |
797 } // namespace webrtc | 789 } // namespace webrtc |
798 | 790 |
799 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_INCLUDE_AUDIO_PROCESSING_H_ | 791 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_INCLUDE_AUDIO_PROCESSING_H_ |
OLD | NEW |