From ee565c32c83ad9396f0047c63199286fd7950ecd Mon Sep 17 00:00:00 2001 From: jules Date: Fri, 6 Sep 2013 20:41:30 +0100 Subject: [PATCH] Added an assertion to catch unusual audio buffer behaviour on iOS. --- modules/juce_audio_devices/native/juce_ios_Audio.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/modules/juce_audio_devices/native/juce_ios_Audio.cpp b/modules/juce_audio_devices/native/juce_ios_Audio.cpp index 76c3a7e754..e53fc67c50 100644 --- a/modules/juce_audio_devices/native/juce_ios_Audio.cpp +++ b/modules/juce_audio_devices/native/juce_ios_Audio.cpp @@ -120,7 +120,7 @@ public: AudioSessionSetProperty (kAudioSessionProperty_PreferredHardwareIOBufferDuration, sizeof (bufferDuration), &bufferDuration); actualBufferSize = preferredBufferSize; - prepareFloatBuffers(); + prepareFloatBuffers (actualBufferSize); isRunning = true; routingChanged (nullptr); // creates and starts the AU @@ -209,11 +209,11 @@ private: float* outputChannels[3]; bool monoInputChannelNumber, monoOutputChannelNumber; - void prepareFloatBuffers() + void prepareFloatBuffers (int bufferSize) { if (numInputChannels + numOutputChannels > 0) { - floatData.setSize (numInputChannels + numOutputChannels, actualBufferSize); + floatData.setSize (numInputChannels + numOutputChannels, bufferSize); zeromem (inputChannels, sizeof (inputChannels)); zeromem (outputChannels, sizeof (outputChannels)); @@ -238,6 +238,9 @@ private: if (callback != nullptr) { + // This shouldn't ever get triggered, but please let me know if it does! + jassert (numFrames <= floatData.getNumSamples()); + if (audioInputIsAvailable && numInputChannels > 0) { short* shortData = (short*) data->mBuffers[0].mData;