Re: Experimenting with kAudioDevicePropertyIOCycleUsage
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