Re: HAL Devices and Streams
Re: HAL Devices and Streams
- Subject: Re: HAL Devices and Streams
- From: Jeff Moore <email@hidden>
- Date: Mon, 14 Jan 2002 12:00:32 -0800
on 1/13/02 6:06 PM, email@hidden <email@hidden> wrote:
>
Jeff, thanks for the reply. I'm a little worried... Are there no plans to
>
make QuickTime's multiple soundcard support function on OS X as it does on
>
OS 9?
I can't answer that question (or any questions about future plans) in this
forum. Suffice to say that we agree that it isn't an optimal solution. But,
the problem is a whole lot deeper than just making an sdev for each device,
though.
>
Audio devices come and go at will under OS 9 too. USB audio for example...
Actually this is not true. 9 sucks particularly bad in this regard. With USB
audio on 9 you are allowed to connect exactly 1 USB audio device. Connect a
second and you won't be able to access it through the Sound Manager. Plus,
you won't be able to use the built-in hardware as soon as you plug in your
first USB Audio device.
The reason why is that there is only one sdev that handles both the built-in
audio and USB audio. It makes up for a lot of the Sound Manager's short
comings at the driver level. To a certain extent, this is what we've done
with the HAL sdev component on X. But there is still only one component on 9
and on X.
>
The QuickTime API under OS 9 did not have a problem with this. Why not
>
bridge the QuickTime component API calls to work with any discovered HAL
>
output devices?
There is no abstraction point to do this for the output side of the Sound
Manager. The Sound Input Manager does have the necessary abstractions and
does indeed allow you full access to all the devices on the system through
SPBGetIndexedDevice.
Solving this problem isn't as simple as you make it out to be. No amount of
bridging can make up for the facts that the Sound Manager has a fundamental
problem if an sdev dies on it in the middle of playback and it has no
abstractions for device discovery.
Note that this doesn't happen on 9. When you unplug a USB Audio device, the
sdev switches back to the built-in hardware since it is all handled by the
same sdev. The Sound Manager remains blissfully ignorant of it all.
--
Jeff Moore
Core Audio
Apple