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