Re: [LAD] JACK and ALSA elucidations

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Gianfranco Ceccolini <gianfranco@...>
Cc: linux-audio-dev@lists.linuxaudio.org <linux-audio-dev@...>
Date: Wednesday, March 12, 2014 - 2:50 am

--001a1134d69ca6012d04f45fe4ac
Content-Type: text/plain; charset=ISO-8859-1

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

>

How does ALSA "say" anything?

>

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.

--001a1134d69ca6012d04f45fe4ac
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

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

On Mon, Mar 10, 2014 at 9:51 AM, Gianfranco Cecc=
olini <gianfranco@portalmod.com.br> wrote:

Paul. I’m really sorry for my lack of comprehension, but I still don&=
rsquo;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 har=
dware memory area used for transfers (what ALSA calls the "hardware bu=
ffer") is always twice the "buffer size".

ALSA offers control over *both* the "period" (between interru=
pts) 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 s=
pecify the period size (-p) and the number of "periods" that make=
up the hardware buffer.
So if I use -p128 and -n2 it mea=
ns the kernel will buffer 256 samples per interrupt, is it?=
No. What it means depends on the precise d=
etails of the device. In an ideal world, those settings mean that the DEVIC=
E will buffer 128 samples before issuing an interrupt, and that its total b=
uffer size is 256.
However, USB devices etc. do not work this way, so it transl=
ates more generically to "ALSA will wake the client up whenever at lea=
st 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 wok=
en.

--001a1134d69ca6012d04f45fe4ac--

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[LAD] JACK and ALSA elucidations, Gianfranco Ceccolini, (Fri Feb 28, 5:58 pm)
Re: [LAD] JACK and ALSA elucidations, Jeremy Jongepier, (Fri Feb 28, 8:01 pm)
Re: [LAD] JACK and ALSA elucidations, Gianfranco Ceccolini, (Mon Mar 10, 1:51 pm)
Re: [LAD] JACK and ALSA elucidations, Alex Gagnon, (Mon Mar 10, 2:34 pm)
Re: [LAD] JACK and ALSA elucidations, Paul Davis, (Mon Mar 10, 2:50 pm)
Re: [LAD] JACK and ALSA elucidations, Paul Davis, (Mon Mar 10, 2:26 pm)
Re: [LAD] JACK and ALSA elucidations, Gianfranco Ceccolini, (Wed Mar 12, 2:26 am)
Re: [LAD] JACK and ALSA elucidations, Paul Davis, (Wed Mar 12, 2:50 am)
Re: [LAD] JACK and ALSA elucidations, Gianfranco Ceccolini, (Wed Mar 12, 3:21 am)
Re: [LAD] JACK and ALSA elucidations, Paul Davis, (Wed Mar 12, 12:12 pm)
Re: [LAD] JACK and ALSA elucidations, Jeremy Jongepier, (Wed Mar 12, 11:37 am)
Re: [LAD] JACK and ALSA elucidations, Paul Davis, (Fri Feb 28, 6:12 pm)