Is there a way I can query the audio drivers (WASAPI, ALSA, etc) what their latency is? There’s System::getDSPBufferSize(), but that’s only for FMOD’s internal mixer stuff. Even if I need to provide manual support for each platform, I need to be able to query the driver latency so I can compensate for it in a rhythm game.
You’re right in that the buffer is set or queried via System::setDSPBufferSize and System::getDSPBufferSize, in the form of a block size and buffer count. This is the main control of latency for you.
Once the audio has been passed down to the OS or hardware there isn’t a way to query the latency through FMOD. Usually the latency is quite low, with the exception of Android.