After kAsioResetRequest arrived, device will be reset in ASIOAudioIODevice::timerCallback() as follows:
open (currentChansIn, currentChansOut, currentSampleRate, currentBlockSizeSamples);
But in open(), currentChansIn/currentChansOut are cleared before they are accessed through parameters of open(const BitArray& inputChannels, const BitArray& outputChannels, …). So there are no inputs/outputs after reset, and audio will be stopped.
Ad hoc I have fixed the problem as follows:
open (BitArray(currentChansIn), BitArray(currentChansOut), currentSampleRate, currentBlockSizeSamples);
Or how about calling open() by value, backup value in open(),…???