Revision 689 — juce_AudioDeviceManager.cpp:381
...
if (currentSetup.inputDeviceName != newInputDeviceName
|| currentSetup.inputDeviceName != newOutputDeviceName
|| currentAudioDevice == 0)
...
Note that the second statement compares the current input name to the new output name. If I understand what should be happening here, shouldn’t it read
...
if (currentSetup.inputDeviceName != newInputDeviceName
|| currentSetup.outputDeviceName != newOutputDeviceName
|| currentAudioDevice == 0)
...