alsa-plugins
alsa-plugins copied to clipboard
Crash when trying to capture vdownmix
Our game captures audio from microphones and tests the available devices on startup. For some reason PortAudio tells us that vdownmix is a 6 channel capture device. When the game tries to test that device, the plugin crashes inside vdownmix_transfer because the src_areas array contained only two valid pointers while mix->channels is 6. I assume the plugin is not prepared to handle the swapped roles of input and output during capture.
A simple way to cause the crash is to execute arecord -D vdownmix -f dat -c 6.
The expected behavior is that the plugin either enforces 2 channel capture with a 4/5/6 channel slave pcm or completely rejects capture. In any case, it should not crash with a SIGSEGV.