Re: Does anyone get an AudioDevice that has both input and output channels?
Re: Does anyone get an AudioDevice that has both input and output channels?
- Subject: Re: Does anyone get an AudioDevice that has both input and output channels?
- From: Bill Stewart <email@hidden>
- Date: Wed, 18 Jul 2001 17:55:41 -0700
Rather than quote the preceding emails I'll just respond to some of the
points raised.
Core Audio provides *NO* a priori limitation on a driver providing both
input and output.
One of the issues that CoreAudio attempts to do is publish the real physical
capabilities of the device - it doesn't pretend to do things that the device
itself doesn't do.
Thus for USB Audio devices you will won't see an unified I/O driver (at
least currently) - this is a problem/feature of the way USB audio is done.
As stated previously we anticipate "fixing" the problem on those macs that
have both analog in and out and providing a single driver with both streams.
Just so you understand (the same applies for ASIO drivers for the same
hardware) there is a little bit more work that the driver needs to do to
support this, but it is marginal cost and we felt the benefits of doing this
outweighed this cost. Both streams are clocked off the same source which is
generally the one criteria that would be applied for whether a device is
unified or separately published...
I fully expect (and hope) that audio cards that do clock their in and outs
from the same source would present single drivers - perhaps with multiple
streams if they have say both analog and digital capabilities. This
generally assumes that ALL of the streams are running at the same sample
rate.
On output the first sample in your IOProc buffer is read by the driver one
buffer size later from the time your IOProc was called. (So if you have 64
frame buffers at 44.1K, then the first sample is read by the driver about
1.5msecs later).
On input the samples you get are those that were written by the driver one
buffer size earlier than the time your IOProc was called. (So if you have 64
frame buffers at 44.1K, the first sample you get was written by the driver
about 1.5msecs earlier)
This is what the time stamps tell you.
This is true whether the device is published as two separate drivers or one
driver with an in and out stream.
Bill