Re: More Glitches
Re: More Glitches
- Subject: Re: More Glitches
- From: Jeff Moore <email@hidden>
- Date: Mon, 14 Feb 2005 14:35:55 -0800
The HAL only sends overload notifications when it detects them as part
of the normal execution of the house keeping code at the end of each IO
cycle. The HAL doesn't have any magical insight, so if you are getting
glitches without a corresponding overload, it would imply that the
glitching isn't related to the time being spent on the IO thread.
On Feb 14, 2005, at 12:58 PM, Ethan Funk wrote:
In my eternal hunt for the source of audio glitching, I have added
the following code to my project to I can get a message on each HAL
output processor overload event. However, I'm not getting any
messages, even through I hear glitches. Am I doing something wrong
in setting up notification or is it possible that the glitches are
due to something else?
Here is my code for the callback: msg is a Boolean I set to true for
debugging
OSStatus HALOverloadListener(AudioDeviceID inDevice, UInt32
inChannel, Boolean isInput, AudioDevicePropertyID inPropertyID, void
*inRefCon)
{
Distributor *output = (Distributor *)inRefCon;
if(msg){
output_map_ptr dp;
string dataStr = "unknown";
// find the output in the output distributer list
pthread_mutex_lock( &oMutex );
for (dp=outputMap.begin(); dp!=outputMap.end(); dp++){
if(&((*dp).second) == output)
dataStr = (*dp).first;
}
pthread_mutex_unlock( &oMutex );
// print message
fprintf(stdout, " MESSAGE: Processor Overload on %s output,
bus #%ld.\n", dataStr.c_str(), inChannel);
fprintf(stdout, "ae>");
fflush(stdout);
}
return noErr;
}
Then I register the call back just before AU Initialization deep in
my audio setup procedure:
// set up notification of processor overload
err = AudioDeviceAddPropertyListener(devID, 0, FALSE,
kAudioDeviceProcessorOverload, HALOverloadListener, this);
if (err)
return false;
// initialize the HALoutput AU
err = AudioUnitInitialize(outHALUnit);
if (err)
return false;
There is NO error when I add the property listener. Any insight
would be appreciated!
Ethan...
--
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