[alsa-devel] safe support for rewind in ALSA

Lennart Poettering mznyfn at 0pointer.de
Wed Feb 17 16:42:01 CET 2010

On Thu, 11.02.10 08:27, Jaroslav Kysela (perex at perex.cz) wrote:

> On Thu, 11 Feb 2010, Clemens Ladisch wrote:
> >> Do you mean that PA only wake up once when configure sound card to use two
> >> periods per buffer ?
> >
> > When using two periods per buffer, ALSA tries to wake up PA two times.
> > However, PA ignores the sound card's interrupts and is woken up by its
> > own timer.
> PA can drive the wake-ups using avail_min sw parameter. If this value is 
> high enough, no userspace wake up is called, only interrupt is processed 
> and internal ring buffer pointers in the driver are updated.

We actually do set min_avail and update it depending on the latency
requirements of the connected clients. Not that we set it to a value
that is not necessarily a multiple of the period size.

That said our primary way to wakeup is and stays the system timer, not
the sound card clock. We set min_avail only as a safety net.


Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/           GnuPG 0x1A015CC4

More information about the Alsa-devel mailing list