From aa7d7aee78091c52a2cba0f4ad9760f3e37eede8 Mon Sep 17 00:00:00 2001 From: jules Date: Tue, 24 Apr 2018 09:30:18 +0100 Subject: [PATCH] Tweaked AudioDeviceManager::getXRunCount() to take into account xruns from both the device and the manager's measurements --- .../juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp b/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp index 03488dbd44..e2fb0b41a6 100644 --- a/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp +++ b/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp @@ -722,7 +722,7 @@ void AudioDeviceManager::audioDeviceIOCallbackInt (const float** inputChannelDat cpuUsageMs += filterAmount * (msTaken - cpuUsageMs); if (msTaken > msPerBlock) - xruns++; + ++xruns; } else { @@ -996,7 +996,7 @@ void AudioDeviceManager::playTestSound() int AudioDeviceManager::getXRunCount() const noexcept { auto deviceXRuns = (currentAudioDevice != nullptr ? currentAudioDevice->getXRunCount() : -1); - return (deviceXRuns >= 0 ? deviceXRuns : xruns); + return jmax (0, deviceXRuns) + xruns; } } // namespace juce