Re: Mixing in coreaudiod or device driver
Re: Mixing in coreaudiod or device driver
- Subject: Re: Mixing in coreaudiod or device driver
- From: Jeff Moore <email@hidden>
- Date: Mon, 03 Jun 2013 11:05:13 -0700
This behavior actually started in Lion. What changed was that in Lion, the HAL consolidated its brain into coreaudiod. As such, there was no longer a need for every client process to open a user-client connection to the driver. So, the only user-client that gets opened is now the one in coreaudiod.
That said, all the mixing for IOAudio-based devices is still handled in the kernel. Rather than scope out each client with a user-client, the HAL now simply registers a buffer set for each client. Thus the mixing for IOAudio-based devices is still done in the kernel in the same way it has been done save for the switch to using multiple buffer-sets rather than multiple user-clients each with a single buffer set.
--
Jeff Moore
Core Audio
Apple
On Jun 2, 2013, at 3:35 PM, Tim Hewett <email@hidden> wrote:
> I've noticed recently in IORegistryExplorer that for some devices the output stream mixing now seems to be done in coreaudiod rather than the device driver, i.e. coreaudiod is the only user client to the device engine. Built-in and Bluetooth devices seem to behave normally (each application being a user client) but USB devices and open source devices like AudioReflectorDriver and Soundflower only have coreaudiod shown as a client.
>
> Is this down to a matter of configuration, e.g. is there a "setICanDoAudioMixing( bool )" method or a system default setting or such like?
>
> It is quite useful to be able to see which apps are using a device, especially those which are active, now apparently only possible under Leopard and Snow Leopard which continue have the original behaviour.
>
> Tim.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden