loadBankFile hangs on iOS when setting DSPBufferSize to ( 128, 4 ) or lower


On my iOS project, everything works fine normally … but if I do:

system->setDSPBufferSize( 128, 4 );

I get the next call to loadBankFile hanging forever, and continuous to spit out this message forever:

[ERR] OutputCoreAudio::updateRender : DSP buffer size * DSP num buffers is insufficient to satisfy hardware read size of 557 samples.

It works fine with:

system->setDSPBufferSize( 256, 4 ); or
system->setDSPBufferSize( 128, 8 );

I thought this will cause run time issues only (stutter, CPU load…etc), I did not expect loading time issues at all.

The same data works fine on Mac with the same buffer size or even lower (I can go as low as 32,4 on mac) without any loading issues.

Any idea?



There is a certain minimum size the total buffer must be to operate on iOS. By default this value is 1024 samples. You can reduce this by using native AudioSession properties, but for performance reasons you should probably only go as 256 or 512 with 4 buffers.

You can read about latency for iOS in the new Latency section of the iOS CHM docs for FMOD 1.05.00, in the basic information section.

1 Like