• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: User-land CoreAudio driver and Leopard
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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
References: 
 >Re: User-land CoreAudio driver and Leopard (From: Stéphane Letz <email@hidden>)

  • Prev by Date: Re: Parameters with step increase/decrease
  • Next by Date: Re: AUEventListenerCreate/Property Listeners
  • Previous by thread: Re: User-land CoreAudio driver and Leopard
  • Next by thread: Re: User-land CoreAudio driver and Leopard
  • Index(es):
    • Date
    • Thread