Re: recognized devices
Re: recognized devices
- Subject: Re: recognized devices
- From: Brian Willoughby <email@hidden>
- Date: Thu, 13 Dec 2001 12:06:22 -0800
[ From: Laurent Cerveau <email@hidden>
[ Date: Wed, 12 Dec 2001 22:01:58 +0100
[
[ On Wednesday, December 12, 2001, at 09:43 PM, David Shaffer wrote:
[ > For instance, an iMic is recognized (as actually 2 software devices)
[ > but the audio input on a DV cam is not recognized as an audio device.
[ >
[ > If I create a FireWire device that has n-inputs and n-outputs, how do I
[ > let core-audio know that the inputs and outputs exist as core-audio
[ > device(s)?
[
[ Because the driver that loads for the camera is not a driver that
[ is a child of the IOAudioFamily, but more a global Audio/Video
[ firewire driver. The matching process does depend on the info in
[ the firmware of the device.
[
[ If there was a generic AppleFWAudio driver that was an IOAudio
[ Family driver, and if the matching information for it (as well as
[ the probe function of the driver) was returning a higher score
[ than the Audio/Video driver then it would load....as an audio
[ device only.
This reminds me of a question I've had since the DriverKit days, when IOKit
was first being planned:
Has the system been designed to handle multi-function cards, especially those
which have "compatible" devices on them? This came up with NEXTSTEP and
OPENSTEP for Intel because there were multi-function audio+MIDI cards which
combined more than one "standard" device onto the same card. Drivers were
usually already available for each individual function, but you could only
choose one function, since multiple drivers could not load to match a single
device. Has any consideration been given to this potential situation in IOKit
and CoreAudio / CoreMIDI ?
I realize that many PCI devices will announce each function as a separate PCI
device, even though they occupy a single card. These examples will probably
work with the current system.
I also realize that the example in the original mail - a FireWire DV camera -
cannot be handled as separate devices, because the data stream mixes audio and
video by time multiplexing. It would not be possible to combine two simple
drivers in this case, because there would have to be a driver that is aware of
the combined stream and could split (input) or combine (output) the audio and
video, even if they connect to different applications on the computer side.
So, to try and phrase this as a question: How much support is there in Mac OS
X (between IOKit and CoreAudio/MIDI) for multi-function devices that could
sometimes be handled by multiple existing drivers, rather than requiring a
custom driver specifically for the multi-function device?
Brian Willoughby
Sound Consulting