Open
Description
The Wasapi and CodeAudio capture and playback devices use a an outer and an inner thread, with a buffer in between. This allows the inner thread to read or write as many frames as the device requires, while the outer threads exchange chunks with chunksize frames with the processing pipeline.
The Alsa backend uses a single thread per device, which means the device buffer and period sizes cannot be chosen freely. This is mostly ok since most devices support wide ranges for both parameters. But some devices do not, for example requiring the buffer size to be 2 * period size.
Rewrite the Alsa backend to add an inner like in the Wasapi and CodeAudio backends to get around this limitation.
Activity