VirtualBox mute on alsa/dmix configuration
|Reported by:||Clemens Fruhwirth||Owned by:|
|Guest type:||other||Host type:||other|
Description (last modified by )
dmix is an alsa plugin for user space sound stream mixing. The problem is that when the "default" alsa audio device is routed through dmix, then applications that try to open "default" for recording fail as dmix is only an output plugin. In general, the trick is to set the input device to something besides from "default" for these applications ("null"/"hw:0,0" is an option). This is possible with VirtualBox by setting the VBOX_ALSA_ADC_DEV=".." variable.
First suggestion: Replacing the error message
00:00:08.982 ALSA: Failed to open 'default' as ADC
with something like
00:00:08.982 ALSA: Failed to open 'default' as ADC, set VBOX_ALSA_ADC_DEV environment variable.
in alsaaudio.c. I had to read "audio_process_options/audio_get_conf_in" in audio.c closely to understand what the code is actually doing.
Second suggestion: If the input device is unavailable, complain but don't go mute completely. I presume the user rarely cares about a working input stream but will most certainly care about a working output stream. The strategy for alsaaudio.c in alsa_init_in could be: call alsa_open for a second time but with "null" set as conf.pcm_name_in.