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 const int kDefaultSampleRate = 44100; |
17 kDefaultSampleRate = 44100, | 17 const int kNumChannels = 1; |
18 kNumChannels = 1, | 18 // Number of bytes per audio frame. |
19 // Number of bytes per audio frame. | 19 // 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] | 20 const size_t kBytesPerFrame = kNumChannels * (16 / 8); |
21 kBytesPerFrame = kNumChannels * (16 / 8), | 21 // Delay estimates for the two different supported modes. These values are based |
22 // Delay estimates for the two different supported modes. These values | 22 // on real-time round-trip delay estimates on a large set of devices and they |
23 // are based on real-time round-trip delay estimates on a large set of | 23 // are lower bounds since the filter length is 128 ms, so the AEC works for |
24 // devices and they are lower bounds since the filter length is 128 ms, | 24 // delays in the range [50, ~170] ms and [150, ~270] ms. Note that, in most |
25 // so the AEC works for delays in the range [50, ~170] ms and [150, ~270] ms. | 25 // cases, the lowest delay estimate will not be utilized since devices that |
26 // Note that, in most cases, the lowest delay estimate will not be utilized | 26 // support low-latency output audio often supports HW AEC as well. |
27 // since devices that support low-latency output audio often supports | 27 const int kLowLatencyModeDelayEstimateInMilliseconds = 50; |
28 // HW AEC as well. | 28 const int kHighLatencyModeDelayEstimateInMilliseconds = 150; |
29 kLowLatencyModeDelayEstimateInMilliseconds = 50, | |
30 kHighLatencyModeDelayEstimateInMilliseconds = 150, | |
31 }; | |
32 | 29 |
33 } // namespace webrtc | 30 } // namespace webrtc |
34 | 31 |
35 #endif // WEBRTC_MODULES_AUDIO_DEVICE_ANDROID_AUDIO_COMMON_H_ | 32 #endif // WEBRTC_MODULES_AUDIO_DEVICE_ANDROID_AUDIO_COMMON_H_ |
OLD | NEW |