Hi My understanding is that a plugin can have several "boxes". A "box" can have several "devices". A "device" has several "streams" and a "stream" has several "channels". I'm not sure about the usage of several streams in one device. This is clearly used to represent the "input stream" and the "output stream" of a full duplex audio interface. Now I have no idea if it is reasonable to have several "input streams" (or "output streams"). Have you played with this property: kAudioStreamPropertyIsActive ? Maybe you could disable some streams this way.
Anyway, you certainly don't need to create several drivers. You just need to have your driver exposing several "boxes" or your single box exposing several "devices". Fred 2014-11-25 19:12 GMT+01:00 Steven Toth <[email protected]>: > (First time poster) > > Hello all. > > I think I've misunderstood something related to Audio Server Plugins, > hopefully someone with more experience can comment. (OSX 10.9 or > 10.10). > > I'm writing a userspace driver that exposes multiple independently > operated stereo audio streams (LPCM 44.1). The requirement is that > each audio stream is selectable as a valid audio input via a typical > AVFoundation application, run independently and deliver its own PCM > samples without any impact on other 'streams' within the device. > > In other words, a device that can have none-or-more of its streams > running, while other streams within the same device are idle. I > thought CoreAudio allowed that, by exposing N x streams. I think I'm > wrong. > > Evidence tells me that the APIs (Eg. StartIO) have no concept of a > single stream running on its own. The entire Device is started and > expected to deliver samples on each stream, in fact I see this during > testing. Calls to DoIOOperation for all exposed streams within the > same Device are received. > > If my initial design assumptions are incorrect, what's the preferred > way to achieve my goal? > > Perhaps create multiple .driver binaries, each with their own UUID and > have coreaudiod load each like its own independent driver? > > Attempts to register multiple plugin uuids in the .driver plist array, > to instruct coreaudiod to register multiple devices from a single > .driver, result in only the first device being created. Pity. > > I'd welcome feedback on this. Thanks, > > - Steve > > -- > Steven Toth - Kernel Labs > http://www.kernellabs.com > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Coreaudio-api mailing list ([email protected]) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/coreaudio-api/fastphilg%40gmail.com > > This email sent to [email protected]
_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/coreaudio-api/archive%40mail-archive.com This email sent to [email protected]
