Home | History | Annotate | Download | only in include
      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 
     25 struct BAudioDeviceInfo;
     26 
     27 typedef struct BAudioDeviceInfo BAudioDeviceInfo;
     28 
     29 // A device type associated with an unknown or uninitialized device.
     30 static 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.
     34 static 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.
     38 static 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.
     42 static const int TYPE_WIRED_HEADSET_MIC = 3;
     43 
     44 // A device type describing a pair of wired headphones.
     45 static const int TYPE_WIRED_HEADPHONES = 4;
     46 
     47 // A device type describing the microphone(s) built in a device.
     48 static 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.
     56 BAudioDeviceInfo* 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.
     64 int BAudioDeviceInfo_getType(BAudioDeviceInfo* device);
     65 
     66 // Free a BAudioDeviceInfo.
     67 //
     68 // Arg:
     69 //   device: A pointer to a BAudioDeviceInfo object to be freed.
     70 void BAudioDeviceInfo_delete(BAudioDeviceInfo* device);
     71 
     72 __END_DECLS
     73 
     74 #endif  // BRILLO_AUDIO_AUDIOSERVICE_BRILLO_AUDIO_DEVICE_INFO_H_
     75