On macOS, when selecting different audio devices for input and output, JUCE uses its
juce::AudioIODeviceCombiner mechanism, which according to our testing for Pajam doesn’t seem to work well (has inconsistent latency which may be different than the one reported).
I checked to see if Apple’s Logic has a similar mechanism and whether it also reports additional latency with mixed devices as
juce::AudioIODeviceCombiner does, and looks like Logic doesn’t. Digging further, I found that since macOS 10.9 Core Audio can solve the problem for us with the
AudioHardwareCreateAggregateDevice call (btw JUCE’s mechanism predates 10.9 by a lot).
Would you consider using
AudioHardwareCreateAggregateDevice on macOS >= 10.9 for a better experience, that doesn’t have additional latency and most importantly always has the same latency that it reports?