[alsa-devel] PulseAudio and SNDRV_PCM_INFO_BATCH

Clemens Ladisch clemens at ladisch.de
Mon Jun 22 11:41:25 CEST 2015


Lars-Peter Clausen wrote:
> On 06/22/2015 04:35 AM, Raymond Yau wrote:
>> Are all soc audio driver use cyclic dma ?
>
> I'm not sure I understand the question. All audio drivers use some
> kind of cyclic DMA.

The ALSA API requires the driver to provide a cyclic sample buffer (or
something that behaves like one).

However, not all hardware works this way.  USB and FireWire require the
driver to continually queue new packets, whose size and timing are
determined by the bus clock and are not directly related to the ALSA
ring buffer.  These drivers use double buffering; the actual DMA happens
from those packets, not from the ring buffer.


Regards,
Clemens


More information about the Alsa-devel mailing list