[alsa-devel] Timer instability
tiwai at suse.de
Wed Feb 25 12:17:33 CET 2009
At Wed, 25 Feb 2009 12:10:24 +0100 (CET),
Jaroslav Kysela wrote:
> On Wed, 25 Feb 2009, Takashi Iwai wrote:
> > At Wed, 25 Feb 2009 11:57:32 +0100 (CET),
> > Jaroslav Kysela wrote:
> > >
> > > On Wed, 25 Feb 2009, Takashi Iwai wrote:
> > >
> > > > Anyway, the definitions of delay and avail in a free-wheel mode are
> > > > ambiguous and rather confusing indeed...
> > >
> > > I don't agree. We manage appl_ptr also in no-XRUN check mode for ALSA
> > > apps, so the negative values makes sense and applications can quickly
> > > skip missed samples (snd_pcm_forward).
> > Well, if we follow the definition of snd_pcm_delay(), applptr - delay
> > doesn't always point to the position to write for the next.
> > (Right now it works so, though).
> Sure, but negative value indicates how many samples is application behind
> the output from hardware. The delay value cannot be used for buffer
> filling, of course (also in standard - no-XRUN case - avail functions
> should be used).
The problem I foresee is that a hardware with pre-fetch style doesn't
work reliably with forwarding based on the delay value. The
free-wheel support on such a hardware is anyway tricky, so it's not
only about avail and delay, though.
More information about the Alsa-devel