Commit 597603d6 authored by Jaroslav Kysela's avatar Jaroslav Kysela

ALSA: introduce the snd-aloop module for the PCM loopback

The snd-aloop module allows redirecting of the PCM playback in the
kernel back to the user space using the standard ALSA PCM capture API.

The module also allows time synchronization with another timing source
and notifications of playback stream parameter changes.
Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
parent 9fe6206f
...@@ -74,6 +74,25 @@ config SND_DUMMY ...@@ -74,6 +74,25 @@ config SND_DUMMY
To compile this driver as a module, choose M here: the module To compile this driver as a module, choose M here: the module
will be called snd-dummy. will be called snd-dummy.
config SND_ALOOP
tristate "Generic loopback driver (PCM)"
select SND_PCM
help
Say 'Y' or 'M' to include support for the PCM loopback device.
This module returns played samples back to the user space using
the standard ALSA PCM device. The devices are routed 0->1 and
1->0, where first number is the playback PCM device and second
number is the capture device. Module creates two PCM devices and
configured number of substreams (see the pcm_substreams module
parameter).
The looback device allow time sychronization with an external
timing source using the time shift universal control (+-20%
of system time).
To compile this driver as a module, choose M here: the module
will be called snd-aloop.
config SND_VIRMIDI config SND_VIRMIDI
tristate "Virtual MIDI soundcard" tristate "Virtual MIDI soundcard"
depends on SND_SEQUENCER depends on SND_SEQUENCER
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
# #
snd-dummy-objs := dummy.o snd-dummy-objs := dummy.o
snd-aloop-objs := aloop.o
snd-mtpav-objs := mtpav.o snd-mtpav-objs := mtpav.o
snd-mts64-objs := mts64.o snd-mts64-objs := mts64.o
snd-portman2x4-objs := portman2x4.o snd-portman2x4-objs := portman2x4.o
...@@ -13,6 +14,7 @@ snd-ml403-ac97cr-objs := ml403-ac97cr.o pcm-indirect2.o ...@@ -13,6 +14,7 @@ snd-ml403-ac97cr-objs := ml403-ac97cr.o pcm-indirect2.o
# Toplevel Module Dependency # Toplevel Module Dependency
obj-$(CONFIG_SND_DUMMY) += snd-dummy.o obj-$(CONFIG_SND_DUMMY) += snd-dummy.o
obj-$(CONFIG_SND_ALOOP) += snd-aloop.o
obj-$(CONFIG_SND_VIRMIDI) += snd-virmidi.o obj-$(CONFIG_SND_VIRMIDI) += snd-virmidi.o
obj-$(CONFIG_SND_SERIAL_U16550) += snd-serial-u16550.o obj-$(CONFIG_SND_SERIAL_U16550) += snd-serial-u16550.o
obj-$(CONFIG_SND_MTPAV) += snd-mtpav.o obj-$(CONFIG_SND_MTPAV) += snd-mtpav.o
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment