blob: 245d7606557b53f34a9c67e6d9723a9708728876 [file] [log] [blame]
Eric Laurent135ad072010-05-21 06:05:13 -07001/*
2 * Copyright (C) 2010 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef ANDROID_AUDIOCOMMON_H_
18#define ANDROID_AUDIOCOMMON_H_
19
20#if __cplusplus
21extern "C" {
22#endif
23
24/////////////////////////////////////////////////
25// Common definitions for PCM audio
26/////////////////////////////////////////////////
27
28
29// PCM Sample format
30enum audio_format_e {
31 PCM_FORMAT_S15 = 1, // PCM signed 16 bits, must be 1 for backward compatibility
32 PCM_FORMAT_U8 = 2, // PCM unsigned 8 bits, must be 2 for backward compatibility
33 PCM_FORMAT_S7_24 // signed 7.24 fixed point representation
34};
35
36// Channel mask definitions
37enum audio_channels_e {
38 CHANNEL_FRONT_LEFT = 0x4, // front left channel
39 CHANNEL_FRONT_RIGHT = 0x8, // front right channel
40 CHANNEL_FRONT_CENTER = 0x10, // front center channel
41 CHANNEL_LOW_FREQUENCY = 0x20, // low frequency channel
42 CHANNEL_BACK_LEFT = 0x40, // back left channel
43 CHANNEL_BACK_RIGHT = 0x80, // back right channel
44 CHANNEL_FRONT_LEFT_OF_CENTER = 0x100, // front left of center channel
45 CHANNEL_FRONT_RIGHT_OF_CENTER = 0x200, // front right of center channel
46 CHANNEL_BACK_CENTER = 0x400, // back center channel
47 CHANNEL_MONO = CHANNEL_FRONT_LEFT,
48 CHANNEL_STEREO = (CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT),
49 CHANNEL_QUAD = (CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT |
50 CHANNEL_BACK_LEFT | CHANNEL_BACK_RIGHT),
51 CHANNEL_SURROUND = (CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT |
52 CHANNEL_FRONT_CENTER | CHANNEL_BACK_CENTER),
53 CHANNEL_5POINT1 = (CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT |
54 CHANNEL_FRONT_CENTER | CHANNEL_LOW_FREQUENCY | CHANNEL_BACK_LEFT | CHANNEL_BACK_RIGHT),
55 CHANNEL_7POINT1 = (CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT |
56 CHANNEL_FRONT_CENTER | CHANNEL_LOW_FREQUENCY | CHANNEL_BACK_LEFT | CHANNEL_BACK_RIGHT |
57 CHANNEL_FRONT_LEFT_OF_CENTER | CHANNEL_FRONT_RIGHT_OF_CENTER),
58};
59
60// Render device definitions
61enum audio_device_e {
62 DEVICE_EARPIECE = 0x1, // earpiece
63 DEVICE_SPEAKER = 0x2, // speaker
64 DEVICE_WIRED_HEADSET = 0x4, // wired headset, with microphone
65 DEVICE_WIRED_HEADPHONE = 0x8, // wired headphone, without microphone
66 DEVICE_BLUETOOTH_SCO = 0x10, // generic bluetooth SCO
67 DEVICE_BLUETOOTH_SCO_HEADSET = 0x20, // bluetooth SCO headset
68 DEVICE_BLUETOOTH_SCO_CARKIT = 0x40, // bluetooth SCO car kit
69 DEVICE_BLUETOOTH_A2DP = 0x80, // generic bluetooth A2DP
70 DEVICE_BLUETOOTH_A2DP_HEADPHONES = 0x100, // bluetooth A2DP headphones
71 DEVICE_BLUETOOTH_A2DP_SPEAKER = 0x200, // bluetooth A2DP speakers
72 DEVICE_AUX_DIGITAL = 0x400 // digital output
73};
74
75#if __cplusplus
76} // extern "C"
77#endif
78
79
80#endif /*ANDROID_AUDIOCOMMON_H_*/