OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 |
11 #ifndef WEBRTC_MODULES_AUDIO_DEVICE_ANDROID_AUDIO_COMMON_H_ | 11 #ifndef WEBRTC_MODULES_AUDIO_DEVICE_ANDROID_AUDIO_COMMON_H_ |
12 #define WEBRTC_MODULES_AUDIO_DEVICE_ANDROID_AUDIO_COMMON_H_ | 12 #define WEBRTC_MODULES_AUDIO_DEVICE_ANDROID_AUDIO_COMMON_H_ |
13 | 13 |
14 namespace webrtc { | 14 namespace webrtc { |
15 | 15 |
16 enum { | 16 enum { |
17 kDefaultSampleRate = 44100, | 17 kDefaultSampleRate = 44100, |
18 kNumChannels = 1, | 18 kNumChannels = 1, |
19 kDefaultBufSizeInSamples = kDefaultSampleRate * 10 / 1000, | |
20 // Number of bytes per audio frame. | 19 // Number of bytes per audio frame. |
21 // Example: 16-bit PCM in mono => 1*(16/8)=2 [bytes/frame] | 20 // Example: 16-bit PCM in mono => 1*(16/8)=2 [bytes/frame] |
22 kBytesPerFrame = kNumChannels * (16 / 8), | 21 kBytesPerFrame = kNumChannels * (16 / 8), |
23 // Delay estimates for the two different supported modes. These values | 22 // Delay estimates for the two different supported modes. These values |
24 // are based on real-time round-trip delay estimates on a large set of | 23 // are based on real-time round-trip delay estimates on a large set of |
25 // devices and they are lower bounds since the filter length is 128 ms, | 24 // devices and they are lower bounds since the filter length is 128 ms, |
26 // so the AEC works for delays in the range [50, ~170] ms and [150, ~270] ms. | 25 // so the AEC works for delays in the range [50, ~170] ms and [150, ~270] ms. |
27 // Note that, in most cases, the lowest delay estimate will not be utilized | 26 // Note that, in most cases, the lowest delay estimate will not be utilized |
28 // since devices that support low-latency output audio often supports | 27 // since devices that support low-latency output audio often supports |
29 // HW AEC as well. | 28 // HW AEC as well. |
30 kLowLatencyModeDelayEstimateInMilliseconds = 50, | 29 kLowLatencyModeDelayEstimateInMilliseconds = 50, |
31 kHighLatencyModeDelayEstimateInMilliseconds = 150, | 30 kHighLatencyModeDelayEstimateInMilliseconds = 150, |
32 }; | 31 }; |
33 | 32 |
34 } // namespace webrtc | 33 } // namespace webrtc |
35 | 34 |
36 #endif // WEBRTC_MODULES_AUDIO_DEVICE_ANDROID_AUDIO_COMMON_H_ | 35 #endif // WEBRTC_MODULES_AUDIO_DEVICE_ANDROID_AUDIO_COMMON_H_ |
OLD | NEW |