diff --git a/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp b/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp index 763634e265..31af32b6e5 100644 --- a/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp +++ b/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp @@ -352,14 +352,20 @@ public: int getLatencyFromDevice (AudioObjectPropertyScope scope) const { - UInt32 lat = 0; - UInt32 size = sizeof (lat); + UInt32 latency = 0; + UInt32 size = sizeof (latency); AudioObjectPropertyAddress pa; pa.mElement = kAudioObjectPropertyElementMaster; pa.mSelector = kAudioDevicePropertyLatency; pa.mScope = scope; - AudioObjectGetPropertyData (deviceID, &pa, 0, nullptr, &size, &lat); - return (int) lat; + AudioObjectGetPropertyData (deviceID, &pa, 0, nullptr, &size, &latency); + + UInt32 safetyOffset = 0; + size = sizeof (safetyOffset); + pa.mSelector = kAudioDevicePropertySafetyOffset; + AudioObjectGetPropertyData (deviceID, &pa, 0, nullptr, &size, &safetyOffset); + + return (int) (latency + safetyOffset); } int getBitDepthFromDevice (AudioObjectPropertyScope scope) const