Multiple Devices or Multiple Streams
Multiple Devices or Multiple Streams
- Subject: Multiple Devices or Multiple Streams
- From: "Sean Morrell" <email@hidden>
- Date: Wed, 24 Oct 2001 23:17:11 -0700
Each engine of the AppleUSBAudio driver manages one stream. As seen from
Daisy, each audio engine appears as a separate device. And the device has
a single stream, either input or output. However Daisy's interface also
shows each device can have multiple streams. And documentation within the
audio family headers (see below) also indicate multiple streams can be
managed by a single engine. So what determines whether a physical audio
device should be presented to CoreAudio as multiple logical devices, one
for each stream, or a single device with multiple streams? Is the
approach the implementer's choice? What are the advantages and
disadvantages of each approach?
Thank You,
Sean
(From IOAudioEngine.h)
/*!
* @function addAudioStream
* @abstract Called by the driver to add an IOAudioStream to the audio
engine
* @discussion This must be called at least once to make sure the audio
engine has at least one IOAudioStream.
* @param stream The IOAudioStream to be added
* @result Returns kIOReturnSuccess if the stream was successfully added
*/
virtual IOReturn addAudioStream(IOAudioStream *stream);