Replying to my own post, the problem came from the inversion of the parameters used to compute the varispeed rate. Here is the correct code (at least it works on my system now):
err = AudioDeviceGetCurrentTime(This->mOutputDevice.mID, &outTS);
checkErr(err);
---> rate = outTS.mRateScalar / inTS.mRateScalar;
err = AudioUnitSetParameter(This->mVarispeedUnit, kVarispeedParam_PlaybackRate, kAudioUnitScope_Global, 0, rate, 0);
checkErr(err);
The incorrect division was:
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