• 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: Experimenting with kAudioDevicePropertyIOCycleUsage
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Experimenting with kAudioDevicePropertyIOCycleUsage


  • Subject: Re: Experimenting with kAudioDevicePropertyIOCycleUsage
  • From: Jeff Moore <email@hidden>
  • Date: Wed, 5 Mar 2008 11:28:36 -0800



On Mar 5, 2008, at 6:49 AM, Stéphane Letz wrote:

We are experimenting the use of kAudioDevicePropertyIOCycleUsage property to reduce the output latency (and thus the overall I/O latency) of our application. Since the real audio process is somewhat decoupled from the audio IO callback, we know for sure that what is actually done in the CoreAudio audio IO callback is fast and time bounded : that is read input buffers, and write output buffers from already computed buffers in memory.

Exactly the situation this feature had in mind when we created it.

When experimenting with a kAudioDevicePropertyIOCycleUsage of 0.5 on a PowerBook G4 with the built-in device and 128 frames we see kAudioDevicePropertyIOCycleUsage coming even
when the IO CoreAudio callback actually just returns immediately. Since the available time should be 64 frames (= 1.45 ms at 44 kHz), the observed behaviour seems incorrect.

I'm not sure what you mean here. I'm guessing that you really mean that you are getting an overload in this circumstance.


The problem can actually be reproduced using Apple AULab and playing with the "Preferences/Devices/Expert Settings/CPU Usage for Audio Processing"

Are they any special conditions to follow when using this kAudioDevicePropertyIOCycleUsage property?

You should check the IO cycle telemetry.

My guess is that the driver is returning an error from the kernel trap somewhere along the way (probably either kIOReturnIsoTooOld or kIOReturnIsoTooNew). If this is the case, this is a known issue with certain drivers (I'd be interested in knowing what hardware you are using).

If not, then the telemetry will be a pretty good indicator of why the overload is happening and we can diagnose the problem from there.

--

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: 
 >Experimenting with kAudioDevicePropertyIOCycleUsage (From: Stéphane Letz <email@hidden>)

  • Prev by Date: Re: definitions of Float32, others
  • Next by Date: Re: host for offline units?
  • Previous by thread: Experimenting with kAudioDevicePropertyIOCycleUsage
  • Next by thread: Sidechain input for AU effect
  • Index(es):
    • Date
    • Thread