Re: Native Multi Channel Audio
Re: Native Multi Channel Audio
- Subject: Re: Native Multi Channel Audio
- From: Jeff Moore <email@hidden>
- Date: Mon, 04 Feb 2002 15:05:03 -0800
on 2/4/02 2:15 PM, Perry Longinotti <email@hidden> wrote:
>
1. Multichannel I/O: If Audiostreams can have n-channels, would a softDVD
>
application without Dolby Surround detect a 6-channel output device on a
>
typical Mac with onboard stereo?
The HAL publishes all the audio devices available on the system. The whole
list is available to all applications.
>
How is device detection handled by the HAL?
The HAL gets notifications from IOKit when audio devices come and go and
passes those notifications on to its clients via a notification on the
kAudioHardwarePropertyDevices property.
>
Does the HAL conduct a topography of input and output pins at boot, are
>
restarts required?
Devices can come and go without rebooting for things like USB and other
transports that support hot-plugging, but typically you have to reboot to
install/remove a PCI device.
>
If there is 6-channel audio input present (DVD playback) where is the output
>
down-mixed (is there a special AU or does it happen at the HAL)?
The HAL and the driver do not do any signal processing, save mixing all the
clients and format converting to the actual sample format for the device.
So if the application wants to mix 6 channels into 2 channels, it is on it's
own. It can at it's option use the various AudioUnits to assist in the task.
>
If a 6-channel output device is present, what happens to stereo sound output
>
(is it converted to 6-channels)?
Currently (at least for the Sound Manager), the first two channels of the
device will be used for the stereo output, but ultimately the app has
complete flexibility in how this is handled, provided it refrains from using
the Sound Manager.
>
I read the NSSound handles SRC, does it also down mix? Can it 'up mix?'
NSSound uses the Sound Manager to do it's work, so it is subject to the same
constraints, such as only being able to output stereo.
>
I noticed the reverb AU, is this compatible with EAX, A3D, etc?
The Reverb AudioUnit is a matrix reverb that is completely in software. It
is addressable only via the various AudioUnit related APIs. There are no
implementations of the services you refer to on X that I'm aware of.
--
Jeff Moore
Core Audio
Apple