Re: User-land CoreAudio driver and Leopard
Re: User-land CoreAudio driver and Leopard
- Subject: Re: User-land CoreAudio driver and Leopard
- From: Jeff Moore <email@hidden>
- Date: Tue, 27 Nov 2007 09:19:27 -0800
On Nov 27, 2007, at 3:36 AM, Stéphane Letz wrote:
Actually I found out that some applications call StopIOProc in the
IO callback... and since my system cannot handle that, I had to
reorganize the while thing. Now I'm using an additional thread that
execute pending commands (with ExecuteAllCommands) when these
commands are triggered from the IO callback, and this works well.
A primary example of such a construct is AUHAL. It pretty much always
stops it's IOProc from the IO thread.
Note that when an app stops it's IOProc from inside the IOProc, it has
a very specific semantic that you have to be sure to implement:
Stopping an IOProc from inside that IOProc has the guarantee that the
IOProc being stopped won't get called again.
The last problem I have is DVD Player that refuses to start when our
JackRouter driver is selected as default : I see AddIOProc but no
StartIOProc is ever called... If on the contrary "Built-in Audio" is
selected as default, *then* DVD Player is launched, DVD Player plays
correctly and in this case switching to JackRouter *dynamically*
using AMS while DVD Player is running works: DVD Player correctly
see the JackRouter driver and start playing...
Any idea on this specific problem?
When the DVD Player is outputting linear PCM, it just uses AUHAL like
any other application. When it is outputting AC-3 it uses the HAL
directly and has some strict requirements about what it expects the
device to look like (has to say it supports AC-3, etc).
I think the DVD Player also wants to set the buffer size to something
specific. At any rate, the best thing to do is to just log the API
calls being made and what you are returning. Then compare the logs in
the working and non-working cases to see what's different.
--
Jeff Moore
Core Audio
Apple
_______________________________________________
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