1// copyright 2016 the android open source project 2// 3// licensed under the apache license, version 2.0 (the "license"); 4// you may not use this file except in compliance with the license. 5// you may obtain a copy of the license at 6// 7// http://www.apache.org/licenses/license-2.0 8// 9// unless required by applicable law or agreed to in writing, software 10// distributed under the license is distributed on an "as is" basis, 11// without warranties or conditions of any kind, either express or implied. 12// see the license for the specific language governing permissions and 13// limitations under the license. 14// 15 16// Type to represent audio devices in a brillo system. 17 18#ifndef BRILLO_AUDIO_AUDIOSERVICE_BRILLO_AUDIO_DEVICE_INFO_H_ 19#define BRILLO_AUDIO_AUDIOSERVICE_BRILLO_AUDIO_DEVICE_INFO_H_ 20 21#include <sys/cdefs.h> 22 23__BEGIN_DECLS 24 25struct BAudioDeviceInfo; 26 27typedef struct BAudioDeviceInfo BAudioDeviceInfo; 28 29// A device type associated with an unknown or uninitialized device. 30static const int TYPE_UNKNOWN = 0; 31 32// A device type describing the speaker system (i.e. a mono speaker or stereo 33// speakers) built in a device. 34static const int TYPE_BUILTIN_SPEAKER = 1; 35 36// A device type describing a headset, which is the combination of a headphones 37// and microphone. This type represents just the transducer in the headset. 38static const int TYPE_WIRED_HEADSET = 2; 39 40// A device type describing a headset, which is the combination of a headphones 41// and microphone. This type represents the microphone in the headset. 42static const int TYPE_WIRED_HEADSET_MIC = 3; 43 44// A device type describing a pair of wired headphones. 45static const int TYPE_WIRED_HEADPHONES = 4; 46 47// A device type describing the microphone(s) built in a device. 48static const int TYPE_BUILTIN_MIC = 5; 49 50// Create a BAudioDeviceInfo based on a type described above. 51// 52// Arg: 53// device: An int representing an audio type as defined above. 54// 55// Returns a pointer to a BAudioDeviceInfo object. 56BAudioDeviceInfo* BAudioDeviceInfo_new(int device); 57 58// Get the type of the device. 59// 60// Arg: 61// device: A pointer to a BAudioDeviceInfo object to be freed. 62// 63// Returns an int representing the type of the device. 64int BAudioDeviceInfo_getType(BAudioDeviceInfo* device); 65 66// Free a BAudioDeviceInfo. 67// 68// Arg: 69// device: A pointer to a BAudioDeviceInfo object to be freed. 70void BAudioDeviceInfo_delete(BAudioDeviceInfo* device); 71 72__END_DECLS 73 74#endif // BRILLO_AUDIO_AUDIOSERVICE_BRILLO_AUDIO_DEVICE_INFO_H_ 75