Skip to content

Commit

Permalink
ALSA: introduce the snd-aloop module for the PCM loopback
Browse files Browse the repository at this point in the history
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: Jaroslav Kysela <[email protected]>
  • Loading branch information
perexg committed Aug 9, 2010
1 parent 9fe6206 commit 597603d
Show file tree
Hide file tree
Showing 3 changed files with 1,076 additions and 0 deletions.
19 changes: 19 additions & 0 deletions sound/drivers/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,25 @@ config SND_DUMMY
To compile this driver as a module, choose M here: the module
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
tristate "Virtual MIDI soundcard"
depends on SND_SEQUENCER
Expand Down
2 changes: 2 additions & 0 deletions sound/drivers/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#

snd-dummy-objs := dummy.o
snd-aloop-objs := aloop.o
snd-mtpav-objs := mtpav.o
snd-mts64-objs := mts64.o
snd-portman2x4-objs := portman2x4.o
Expand All @@ -13,6 +14,7 @@ snd-ml403-ac97cr-objs := ml403-ac97cr.o pcm-indirect2.o

# Toplevel Module Dependency
obj-$(CONFIG_SND_DUMMY) += snd-dummy.o
obj-$(CONFIG_SND_ALOOP) += snd-aloop.o
obj-$(CONFIG_SND_VIRMIDI) += snd-virmidi.o
obj-$(CONFIG_SND_SERIAL_U16550) += snd-serial-u16550.o
obj-$(CONFIG_SND_MTPAV) += snd-mtpav.o
Expand Down
Loading

0 comments on commit 597603d

Please sign in to comment.