[LAD] JACK and ALSA elucidations

Paul Davis paul at linuxaudiosystems.com
Wed Mar 12 02:50:01 UTC 2014

On Tue, Mar 11, 2014 at 10:26 PM, Gianfranco Ceccolini <
gianfranco at portalmod.com.br> wrote:

> On Mon, Mar 10, 2014 at 9:51 AM, Gianfranco Ceccolini <
> gianfranco at portalmod.com.br> wrote:
>> Paul. I'm really sorry for my lack of comprehension, but I still don't
>> get it.  Is there a relation between the ALSA period with JACK's period?
> they are identical.
> How can that be? JACK says -p 128 samples and ALSA says 2 on the PC and 16
> on the BBB

How does ALSA "say" anything?

> note: other audio APIs call this a "buffer". some, like ASIO, force a
> double "buffered" model where the total size of the hardware memory area
> used for transfers (what ALSA calls the "hardware buffer") is always twice
> the "buffer size".
> ALSA offers control over *both* the "period" (between interrupts) and the
> total hardware buffer size. This is unusual among audio APIs, except that
> JACK follows the same convention in its ALSA backend. You can specify the
> period size (-p) and the number of "periods" that make up the hardware
> buffer.
> So if I use -p128 and -n2 it means the kernel will buffer 256 samples per
> interrupt, is it?

No. What it means depends on the precise details of the device. In an ideal
world, those settings mean that the DEVICE will buffer 128 samples before
issuing an interrupt, and that its total buffer size is 256.

However, USB devices etc. do not work this way, so it translates more
generically to "ALSA will wake the client up whenever at least 128 samples
of data (and/or space) are available".

The -n 2 parameter only affects the total amount of hardware buffering, not
the interval ("period") between when the application is woken.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-dev/attachments/20140311/229482ac/attachment.html>

More information about the Linux-audio-dev mailing list