Browse Source

Move kAudioUnitProperty_MaximumFramesPerSlice setting/query after initialisation

tags/2021-05-28
hogliux 9 years ago
parent
commit
a3c377bcd0
1 changed files with 9 additions and 4 deletions
  1. +9
    -4
      modules/juce_audio_devices/native/juce_ios_Audio.cpp

+ 9
- 4
modules/juce_audio_devices/native/juce_ios_Audio.cpp View File

@@ -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<int> (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<int> (framesPerSlice) != actualBufferSize)
{
actualBufferSize = static_cast<int> (framesPerSlice);
prepareFloatBuffers (actualBufferSize);
}
AudioUnitInitialize (audioUnit);
return true;
}


Loading…
Cancel
Save