[alsa-devel] Direct use of the DMA buffer?

Jaroslav Kysela perex at perex.cz
Mon Feb 20 10:22:29 CET 2012

Date 20.2.2012 09:38, Pavel Hofman wrote:
> Dne 20.2.2012 09:11, Clemens Ladisch napsal(a):
>> Pavel Hofman wrote:
>>> Please excuse my ignorance, but is it possible for an application to
>>> directly use/output to the DMA buffer allocated by the kernel in
>>> hw_params?
>> Set one of the SND_PCM_ACCESS_MMAP_* access types and then use
>> snd_pcm_mmap_begin/commit.
> Clemens, thanks a lot for the information. How does it work when the
> alsa-lib chain contains plugins, such as plug, rate, etc.? I would
> assume the application circumvents these.

Nope. The mmap commit mechanism was introduced to keep the plugin
interface functional. The direct mmap access to the DMA buffer is only
applied for the direct hw: devices. If a plugin is used inside alsa-lib,
the application talks to the plugin chain (it means that an intermediate
buffer for samples can be allocated to let things working).


Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project; Red Hat, Inc.

More information about the Alsa-devel mailing list