Re: Multiple Devices or Multiple Streams
Re: Multiple Devices or Multiple Streams
- Subject: Re: Multiple Devices or Multiple Streams
- From: Laurent Cerveau <email@hidden>
- Date: Thu, 25 Oct 2001 10:25:48 +0200
On Thursday, October 25, 2001, at 08:17 AM, Sean Morrell wrote:
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?
The idea is " an engine represents one unit for synchronization". Let me
give an example. For the built-in Apple hardware there used to be 2
engines with one stream : one for input and one for output. However with
10.1 it has been modified to one engine with 2 streams (one input
direction, one output direction). The reason : these 2 engines are
physically on the same chipset (the macIO controller connected via DAV
or I2S to the Codec) and are driven by the same clock (these are 2 DMA
based engine). No drift is possible. This is why it has been reunified,
and it allows also to present synchronized I/O (but the main reason is
because this is the same clock).
An engine is really the "data pump" while the stream is "whatr you are
pumping" (Very clear isn't it :-))
Hope this helps
Laurent
Laurent Cerveau
Applications Division
Apple Computer Inc.
email@hidden