[alsa-devel] snd-fireworks requires larger period sizes than FFADO

Clemens Ladisch clemens at ladisch.de
Tue Dec 1 18:15:46 CET 2015


Stefan Richter wrote:
> is there a strict requirement that the ALSA period is more than double of
> the FireWire interrupt period?

No.  But the ALSA API promises that interrupts arrive at the end of
a period (which always has a constant size), and with the FireWire packet
sizes varying, this is the easiest way of ensuring that interrupts are
delayed by less than half the period size.

The driver should dynamically reduce the interrupt interval for smaller
periods.

> Also, I believe to remember that you once said that instead of relying on
> periodical interrupts from the OHCI, it might be better to switch to a
> kind of polling scheme (i.e. process the IEEE 1394 packet buffer on an
> own period = ALSA period?).

This is already implemented by calling fw_iso_context_flush_completions().

It helps with PulseAudio (which predicts the correct time to poll), but is
useless when the application relies on the interrupt to wake it up (e.g.,
Jack).


Regards,
Clemens


More information about the Alsa-devel mailing list