[alsa-devel] safe support for rewind in ALSA
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