ADC Home > Reference Library > Reference > Hardware & Drivers > I/O Kit Framework Reference

 


IOAudioDefines.h

Include Path:

<IOKit/audio/IOAudioDefines.h>

Path:

/System/Library/Frameworks/IOKit.framework/Versions/A/Headers/audio/IOAudioDefines.h

Overview

This header includes definitions for various keys used in communicating with audio devices. Developers are encouraged to use the Core Audio HAL rather than attempting to control an audio device directly.

For more information on the Core Audio HAL, download the Core Audio SDK from http://developer.apple.com/audio/.



#defines


kIOAudioControlChannelIDKey


The key in the IORegistry for the IOAudioControl channel ID attribute

#define kIOAudioControlChannelIDKey "IOAudioControlChannelID" 
Discussion

The value for this key is an integer which may be driver defined. Default values for common channel types are provided in the following defines.


kIOAudioControlChannelNameAll


The value for the kIOAudioControlChannelNameKey in the IORegistry representing the channel name for all channels.

#define kIOAudioControlChannelNameAll "All Channels" 


kIOAudioControlChannelNameCenter


The value for the kIOAudioControlChannelNameKey in the IORegistry representing the channel name for the center channel.

#define kIOAudioControlChannelNameCenter "Center" 


kIOAudioControlChannelNameKey


The key in the IORegistry for the IOAudioControl name attribute.

#define kIOAudioControlChannelNameKey "IOAudioControlChannelName" 
Discussion

This name should be a human-readable name for the channel(s) represented by the port. *** NOTE *** We really need to make all of the human-readable attributes that have potential to be used in a GUI localizable. There will need to be localized strings in the kext bundle matching the text.


kIOAudioControlChannelNameLeft


The value for the kIOAudioControlChannelNameKey in the IORegistry representing the channel name for the left channel.

#define kIOAudioControlChannelNameLeft "Left" 


kIOAudioControlChannelNameLeftRear


The value for the kIOAudioControlChannelNameKey in the IORegistry representing the channel name for the left rear channel.

#define kIOAudioControlChannelNameLeftRear "LeftRear" 


kIOAudioControlChannelNameRight


The value for the kIOAudioControlChannelNameKey in the IORegistry representing the channel name for the right channel.

#define kIOAudioControlChannelNameRight "Right" 


kIOAudioControlChannelNameRightRear


The value for the kIOAudioControlChannelNameKey in the IORegistry representing the channel name for the right rear channel.

#define kIOAudioControlChannelNameRightRear "RightRear" 


kIOAudioControlChannelNameSub


The value for the kIOAudioControlChannelNameKey in the IORegistry representing the channel name for the sub/LFE channel.

#define kIOAudioControlChannelNameSub "Sub" 


kIOAudioControlTypeKey


The key in the IORegistry for the IOAudioCntrol type attribute.

#define kIOAudioControlTypeKey "IOAudioControlType" 
Discussion

The value of this text attribute may be defined by the driver, however system-defined types recognized by the upper-level software are "Level", "Mute", "Selector".


kIOAudioControlValueIsReadOnlyKey


The key in the IORegistry for the IOAudioControl value-is-read-only attribute.

#define kIOAudioControlValueIsReadOnlyKey "IOAudioControlValueIsReadOnly" 
Discussion

The value returned by this key is a 32-bit integer but the value doesn't have any direct meaning. Instead, the presence of this key indicates that the value for the control is read-only


kIOAudioControlValueKey


The key in the IORegistry for the IOAudioControl value attribute.

#define kIOAudioControlValueKey "IOAudioControlValue" 
Discussion

The value returned by this key is a 32-bit integer representing the current value of the IOAudioControl.


kIOAudioDeviceIconName


The key in the IORegistry for the IOAudioDevice icon name attribute.

See Also:

kIOAudioDeviceIconNameKey

#define kIOAudioDeviceIconNameKey "IOAudioDeviceIconName" 


kIOAudioDeviceIconNameKey


The key in the IORegistry for the IOAudioDevice icon name attribute.

See Also:

kIOAudioDeviceIconName

#define kIOAudioDeviceIconNameKey "IOAudioDeviceIconName" 


kIOAudioDeviceManufacturerNameKey


The key in the IORegistry for the IOAudioDevice manufacturer name attribute.

#define kIOAudioDeviceManufacturerNameKey "IOAudioDeviceManufacturerName" 


kIOAudioDeviceNameKey


The key in the IORegistry for the IOAudioDevice name attribute.

#define kIOAudioDeviceNameKey "IOAudioDeviceName" 


kIOAudioEngineFullChannelCategoryNamesKey


The key in the IORegistry for the IOAudioEngine's dictionary of category names for each channel keyed by the device channel

#define kIOAudioEngineFullChannelCategoryNamesKey "IOAudioEngineChannelCategoryNames" 


kIOAudioEngineFullChannelNamesKey


The key in the IORegistry for the IOAudioEngine's dictionary of fully constructed names for each channel keyed by the device channel

#define kIOAudioEngineFullChannelNamesKey "IOAudioEngineChannelNames" 


kIOAudioEngineFullChannelNumberNamesKey


The key in the IORegistry for the IOAudioEngine's dictionary of number names for each channel keyed by the device channel

#define kIOAudioEngineFullChannelNumberNamesKey "IOAudioEngineChannelNumberNames" 


kIOAudioEngineOutputSampleLatencyKey


The key in the IORegistry for the IOAudioEngine output sample latency key

#define kIOAudioEngineOutputSampleLatencyKey "IOAudioEngineOutputSampleLatency" 


kIOAudioEngineStateKey


The key in the IORegistry for the IOAudioEngine state atrribute

#define kIOAudioEngineStateKey "IOAudioEngineState" 
Discussion

The value for this key may be one of: "Running", "Stopped" or "Paused". Currently the "Paused" state is unimplemented.


kIOAudioLevelControlMaxDBKey


The key in the IORgistry for the IOAudioControl maximum db value attribute.

#define kIOAudioLevelControlMaxDBKey "IOAudioLevelControlMaxDB" 
Discussion

The value returned by this key is a fixed point value in 16.16 format represented as a 32-bit integer. It represents the maximum value in db for the IOAudioControl. This value matches the maximum value attribute. This is currently valid for Level controls or other driver-defined controls that have a minimum and maximum db value.


kIOAudioLevelControlMaxValueKey


The key in the IORegistry for the IOAudioControl maximum value attribute.

#define kIOAudioLevelControlMaxValueKey "IOAudioLevelControlMaxValue" 
Discussion

The value returned by this key is a 32-bit integer representing the maximum value for the IOAudioControl. This is currently only valid for Level controls or other driver-defined controls that have a minimum and maximum value.


kIOAudioLevelControlMinDBKey


The key in the IORgistry for the IOAudioControl minimum db value attribute.

#define kIOAudioLevelControlMinDBKey "IOAudioLevelControlMinDB" 
Discussion

The value returned by this key is a fixed point value in 16.16 format represented as a 32-bit integer. It represents the minimum value in db for the IOAudioControl. This value matches the minimum value attribute. This is currently valid for Level controls or other driver-defined controls that have a minimum and maximum db value.


kIOAudioLevelControlMinValueKey


The key in the IORegistry for the IOAudioControl minimum value attribute.

#define kIOAudioLevelControlMinValueKey "IOAudioLevelControlMinValue" 
Discussion

The value returned by this key is a 32-bit integer representing the minimum value for the IOAudioControl. This is currently only valid for Level controls or other driver-defined controls that have a minimum and maximum value.


kIOAudioPortNameKey


The key in the IORegistry for the IOAudioPort name attribute.

#define kIOAudioPortNameKey "IOAudioPortName" 


kIOAudioPortSubTypeKey


The key in the IORegistry for the IOAudioPort subtype attribute.

#define kIOAudioPortSubTypeKey "IOAudioPortSubType" 
Discussion

The IOAudioPort subtype is a driver-defined text attribute designed to complement the type attribute.


kIOAudioPortTypeKey


The key in the IORegistry for the IOAudioPort type attribute.

#define kIOAudioPortTypeKey "IOAudioPortType" 
Discussion

This is a driver-defined text attribute that may contain any type. Common types are defined as: "Speaker", "Headphones", "Microphone", "CD", "Line", "Digital", "Mixer", "PassThru".


kIOAudioSampleRateKey


The key in the IORegistry for the IOAudioEngine sample rate attribute

#define kIOAudioSampleRateKey "IOAudioSampleRate" 
Discussion

This value is represented as an integer in samples per second.


kIOAudioStreamDirectionKey


The key in the IORegistry for the IOAudioStream direction attribute.

#define kIOAudioStreamDirectionKey "IOAudioStreamDirection" 
Discussion

The value for this key may be either "Output" or "Input".


kIOAudioStreamSampleLatencyKey


The key in the IORegistry for the IOAudioStream output sample latency key

#define kIOAudioStreamSampleLatencyKey "IOAudioStreamSampleLatency" 
Discussion

Tells the HAL how much latency is on a particular stream. If two streams on the same engine have different latencies (e.g. one is analog, one is digital), then set this property on both streams to inform the HAL of the latency differences. Alternately, you can set the engine latency, and just include the latency additional to that for the particular stream. The HAL will add the engine and stream latency numbers together to get the total latency.


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.

 

Last Updated: 2009-02-23