diff --git a/modules/juce_audio_devices/native/juce_ios_Audio.cpp b/modules/juce_audio_devices/native/juce_ios_Audio.cpp index d67043a8e1..e55d1371b7 100644 --- a/modules/juce_audio_devices/native/juce_ios_Audio.cpp +++ b/modules/juce_audio_devices/native/juce_ios_Audio.cpp @@ -682,15 +682,20 @@ private: UInt32 framesPerSlice; UInt32 dataSize = sizeof (framesPerSlice); - if (AudioUnitSetProperty (audioUnit, kAudioUnitProperty_MaximumFramesPerSlice, kAudioUnitScope_Global, 0, &actualBufferSize, sizeof (actualBufferSize)) == noErr - && AudioUnitGetProperty (audioUnit, kAudioUnitProperty_MaximumFramesPerSlice, kAudioUnitScope_Global, 0, &framesPerSlice, &dataSize) == noErr - && dataSize == sizeof (framesPerSlice) && static_cast (framesPerSlice) != actualBufferSize) + AudioUnitInitialize (audioUnit); + + AudioUnitSetProperty (audioUnit, kAudioUnitProperty_MaximumFramesPerSlice, + kAudioUnitScope_Global, 0, &actualBufferSize, sizeof (actualBufferSize)); + + + if (AudioUnitGetProperty (audioUnit, kAudioUnitProperty_MaximumFramesPerSlice, + kAudioUnitScope_Global, 0, &framesPerSlice, &dataSize) == noErr + && dataSize == sizeof (framesPerSlice) && static_cast (framesPerSlice) != actualBufferSize) { actualBufferSize = static_cast (framesPerSlice); prepareFloatBuffers (actualBufferSize); } - AudioUnitInitialize (audioUnit); return true; }