ADC Home > Reference Library > Reference > Audio > Core Audio > Core Audio Framework Reference
|
AudioDriverPlugIn |
IOAudio family drivers can specify a CFBundle in order to implement device specific properties on behalf of the HAL. The CFBundle provides routines for opening and closing the device as well as the property management routines. The mechanism by which the driver specifies which CFBundle to load is defined by the IOAudio driver family in IOKit. The routines described in this header are loaded by name from the CFBundle.
AudioDriverPlugInClose |
Closes an instance of the driver plug-in.
extern OSStatus AudioDriverPlugInClose( AudioDeviceID inDevice);
inDevice
An OSStatus indicating success or failure.
AudioDriverPlugInDeviceGetProperty |
Queries an the AudioDevice object to get the data of the given property and places it in the provided buffer.
extern OSStatus AudioDriverPlugInDeviceGetProperty( AudioDeviceID inDevice, UInt32 inChannel, Boolean isInput, AudioDevicePropertyID inPropertyID, UInt32*ioPropertyDataSize, void*outPropertyData);
inDevice
inChannel
isInput
inPropertyID
ioPropertyDataSize
outPropertyData
An OSStatus indicating success or failure. Note that if the plug-in does not implement the given property, it should return kAudioHardwareUnknownPropertyError to ensure that the HAL handles the property normally.
AudioDriverPlugInDeviceGetPropertyInfo |
Retrieve information about the given property of an AudioDevice.
extern OSStatus AudioDriverPlugInDeviceGetPropertyInfo( AudioDeviceID inDevice, UInt32 inChannel, Boolean isInput, AudioDevicePropertyID inPropertyID, UInt32*outSize, Boolean*outWritable);
inDevice
inChannel
isInput
inPropertyID
outSize
outWritable
An OSStatus indicating success or failure. Note that if the plug-in does not implement the given property, it should return kAudioHardwareUnknownPropertyError to ensure that the HAL handles the property normally.
AudioDriverPlugInDeviceSetProperty |
Tells the AudioDevice object to change the value of the given property using the provided data.
extern OSStatus AudioDriverPlugInDeviceSetProperty( AudioDeviceID inDevice, const AudioTimeStamp*inWhen, UInt32 inChannel, Boolean isInput, AudioDevicePropertyID inPropertyID, UInt32 inPropertyDataSize, const void*inPropertyData);
inDevice
inWhen
inChannel
isInput
inPropertyID
inPropertyDataSize
inPropertyData
An OSStatus indicating success or failure. Note that if the plug-in does not implement the given property, it should return kAudioHardwareUnknownPropertyError to ensure that the HAL handles the property normally.
Note that the value of the property should not be considered changed until the HAL has called the listeners as many properties values are changed asynchronously.
AudioDriverPlugInOpen |
Instantiates a new instance of the driver plug-in.
extern OSStatus AudioDriverPlugInOpen( AudioDriverPlugInHostInfo*inHostInfo);
inHostInfo
An OSStatus indicating success or failure.
AudioDriverPlugInStreamGetProperty |
Queries an the AudioStream object to get the data of the given property and places it in the provided buffer.
extern OSStatus AudioDriverPlugInStreamGetProperty( AudioDeviceID inDevice, io_object_t inIOAudioStream, UInt32 inChannel, AudioDevicePropertyID inPropertyID, UInt32*ioPropertyDataSize, void*outPropertyData);
inDevice
inIOAudioStream
inChannel
inPropertyID
ioPropertyDataSize
outPropertyData
An OSStatus indicating success or failure. Note that if the plug-in does not implement the given property, it should return kAudioHardwareUnknownPropertyError to ensure that the HAL handles the property normally.
AudioDriverPlugInStreamGetPropertyInfo |
Retrieve information about the given property of an AudioStream.
extern OSStatus AudioDriverPlugInStreamGetPropertyInfo( AudioDeviceID inDevice, io_object_t inIOAudioStream, UInt32 inChannel, AudioDevicePropertyID inPropertyID, UInt32*outSize, Boolean*outWritable);
inDevice
inIOAudioStream
inChannel
inPropertyID
outSize
outWritable
An OSStatus indicating success or failure. Note that if the plug-in does not implement the given property, it should return kAudioHardwareUnknownPropertyError to ensure that the HAL handles the property normally.
AudioDriverPlugInStreamSetProperty |
Tells the AudioStream object to change the value of the given property using the provided data.
extern OSStatus AudioDriverPlugInStreamSetProperty( AudioDeviceID inDevice, io_object_t inIOAudioStream, const AudioTimeStamp*inWhen, UInt32 inChannel, AudioDevicePropertyID inPropertyID, UInt32 inPropertyDataSize, const void*inPropertyData);
inDevice
inIOAudioStream
inWhen
inChannel
inPropertyID
inPropertyDataSize
inPropertyData
An OSStatus indicating success or failure. Note that if the plug-in does not implement the given property, it should return kAudioHardwareUnknownPropertyError to ensure that the HAL handles the property normally.
Note that the value of the property should not be considered changed until the HAL has called the listeners as many properties values are changed asynchronously.
AudioDriverPlugInDevicePropertyChangedProc |
A plug-in calls this routine to notify the HAL that one of it's device's properties has changed.
typedef OSStatus (*AudioDriverPlugInDevicePropertyChangedProc)( AudioDeviceID inDevice, UInt32 inChannel, Boolean isInput, AudioDevicePropertyID inPropertyID);
inDevice
- The device whose property has changed.
inChannel
- The channel of the device the property that has changed belongs to.
isInput
- The section of the device the property that has changed belongs to.
inPropertyID
- The selector of the property that has changed.
The return value is currently unused and should always be 0.
The HAL will notify any listeners on behalf of the plug-in. The pointer to this routine is supplied to the plug-in when it is opened.
AudioDriverPlugInStreamPropertyChangedProc |
A plug-in calls this routine to notify the HAL that a property of one of the streams of one of it's devices has changed.
typedef OSStatus (*AudioDriverPlugInStreamPropertyChangedProc)( AudioDeviceID inDevice, io_object_t inIOAudioStream, UInt32 inChannel, AudioDevicePropertyID inPropertyID);
inDevice
- The device whose property has changed.
inIOAudioStream
- The stream whose property has changed.
inChannel
- The channel of the stream the property that has changed belongs to.
inPropertyID
- The selector of the property that has changed.
The return value is currently unused and should always be 0.
The HAL will notify any listeners on behalf of the plug-in. The pointer to this routine is supplied to the plug-in when it is opened.
AudioDriverPlugInHostInfo |
This structure provides the plug-in with all the info it needs with respect to communicating with the HAL.
struct AudioDriverPlugInHostInfo { AudioDeviceID mDeviceID; io_object_t mIOAudioDevice; io_object_t mIOAudioEngine; AudioDriverPlugInDevicePropertyChangedProc mDevicePropertyChangedProc; AudioDriverPlugInStreamPropertyChangedProc mStreamPropertyChangedProc; };
mDeviceID
- The AudioDeviceID of the audio device.
mIOAudioDevice
- The io_object_t that points to the IOAudioDevice object for the device in the driver.
mIOAudioEngine
- The io_object_t that points to the IOAudioEngine object for the device in the driver.
mDevicePropertyChangedProc
- The AudioDriverPlugInDevicePropertyChangedProc the plug-in should call when a device property changes.
mStreamPropertyChangedProc
- The AudioDriverPlugInStreamPropertyChangedProc the plug-in should call when a stream property changes.
|