[alsa-devel] Possibility of routing at the kernel level
Mark Farrugia
mark.farrugia at fiberdyne.com.au
Fri Aug 24 08:27:01 CEST 2018
Hi all,
I am currently using the ALSA loopback driver to create a "virtual"
sound card to abstract underlying real sound cards. I capture from
the loopback in user-space, and then subsequently playback to a real
sound card.
The issue with this is that there is a significant latency introduced
(~100ms) due to the number of transitions of the stream from user to
kernel space. I am seeking a way to avoid this.
My question is this: is there any way of routing PCM substreams at the
kernel level, so that we can avoid the need to pipe audio back up to
user-space with the loopback capturer? If there is no current
solution that would achieve this, I would proposition to design and
implement a system that uses a top-level ALSA driver, which then
routes dynamically to one or many subscribed lower-level "audio path"
drivers. The system would also have the option to loopback upon
itself.
Does anyone see any reason that I couldn't (or shouldn't) attempt such
a solution? All feedback is welcome.
Regards,
Mark
More information about the Alsa-devel
mailing list