selectNewOutput

open suspend override fun selectNewOutput(currentAudioOutput: AudioOutput): AudioOutput?

Change from the current audio output, according to some sensible logic, and return when either the user has selected a new audio output or returning null if timed out.