We recently upgraded to JUCE5.4.3 (from JUCE4.2.4) and encountered an issue with Garageband iOS when using the Guitar / Strings / Bass instruments (works fine on all other hosts and even on the keyboard instruments and audio tracks on GB).
AudioProcessor::prepareToPlay gets called twice. The first call reports a sample rate of 44100 Hz and 128 samples buffer size, and the second time it reports a sample rate of 22050 Hz with a buffer size of 1024 samples. The process callback requests a 128 samples buffer (at 44.1kHz I assume). We’ve been relying on that last sample rate reported in prepareToPlay will be a valid one, but in this case it’s not.
We noticed this because the plugin we’re currently working on doesn’t support sample rates below 44.1kHz. Haven’t really investigated how stuff behaves in JUCE4, but the same plugin code works fine when using the older JUCE 4.2.4 modules.