I face a strange problem with my audio devices in Juce. Juce and other apps detect, that I have two DSound devices (named “Primary sound driver” and “Realtek HD Audio output” in the list) and a single ASIO device. But while other audio apps succesfully play through all the three devices, Juce can play only throuhg the first one - “Primary sound driver” and completely mutes any audio when I choose the second DSound device or the ASIO device.
I base on standard Juce components for audio management - AudioDeviceManager and AudioIODeviceCallback. I also checked Juce Demo app and Plugin Host app and found exactly the same behavior there. During debugging I see, that when I choose nonplaying device, the currentAudioDevice has numOutputBuffers set to zero and numUsed in outChans array is also set to zero, although I always initialize the manager with two output channels. After the bad device is set, the callback is called with totalNumOutputChannels == 0 and NULL in outputChannelData array. There’re some manipulations with bits and arrays happen on device creation and opening, which I can’t understand and therefore don’t see where to dig now. Probably something simple is going on here, right?