Hi,
It appears that the call to AudioDeviceGetProperty with kAudioDevicePropertyClockDomain returns a different clock domain for the built-in audio device in compared with built-in audio device out.
Here’s a code example:
bool bRet = false;
UInt32 unSize = sizeof(UInt32);
UInt32 unClockDomainIn = 0;
UInt32 unClockDomainOut = 0;
// 1. Get clock domain of input device
OSStatus err = AudioDeviceGetProperty(inDevice->DeviceID(), 0, 0, kAudioDevicePropertyClockDomain, &unSize,
&unClockDomainIn);
if(err)
{
// Some error handling here
}
// 2. Get clock domain of output device
err = AudioDeviceGetProperty(outDevice->DeviceID(), 0, 0, kAudioDevicePropertyClockDomain, &unSize, &unClockDomainOut);
if(err)
{
// Some error handling here
}
// 3. Compare the domains
if(unClockDomainIn == unClockDomainOut)
{
bRet = true;
}
return bRet;
Up to Mavericks, when comparing built-in audio device in to out, unClockDomainIn is equal to unClockDomainOut.
In Yosemite and El Capitan unClockDomainIn and unClockDomainOut are not the same.
What could be the problem here?
Thanks,
Oron