Re: Virtual audio device glitches
Re: Virtual audio device glitches
- Subject: Re: Virtual audio device glitches
- From: Robert Bielik <email@hidden>
- Date: Thu, 14 Oct 2010 08:52:32 +0200
Robert Bielik skrev 2010-10-14 07:53:
Jeff Moore skrev 2010-10-13 20:53:
My first suspicion is that this is about the erase head running too fast. A quick and dirty way to check for this would be to turn the erase head off using IOAudioEngine::setRunEraseHead() in your driver.
If this turns out to be the case, you'll want to take a look at how you have implemented IOAudioEngine::getCurrentSampleFrame() as this method controls. This is the method that controls the erase head's concept of time. You might want to take a look at the AudioReflectorDriver sample for an example of a driver implementing IOAudioEngine::getCurrentSampleFrame() to keep the erase head out of the way of things.
Thnx Jeff, I tried it out, but no change.. still there are pops/clicks every second. Problem is that since my approach is two tiered and my application resets the driver when I start the streaming, I don't know if its a problem in the driver, or in my streaming application :(
A question regarding timestamp, what is the unit of the timestamps given to takeTimeStamp ? Is in nanosecs ?
If so, would this work:
mach_timebase_info tbi;
clock_timebase_info(&tbi);
uint64_t time;
clock_get_uptime(&time);
time -= mStartTime;
time *= tbi.numer;
time /= tbi.denom;
AbsoluteTime absTime = *((AbsoluteTime*)&time);
engine->takeTimeStamp(true, &absTime);
??
TIA
/Rob
_______________________________________________
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