When my app exits, on the Mac it seems that AudioIOCallback::audioDeviceStopped() doesn’t get called if you simply delete the AudioDeviceManager (as opposed to first calling closeAudioDevice()).
I think it should. In other words when the ScopedPointer for currentAudioDevice is set to zero, currentAudioDevice->stop() should get called automatically.
On Windows everything works as expected.
All this is second hand info by the way…so don’t shoot me!