alsa-project/alsa-plugins issue #13 was opened from s09bQ5: 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. Issue URL : https://github.com/alsa-project/alsa-plugins/issues/13 Repository URL: https://github.com/alsa-project/alsa-plugins