[alsa-devel] Timer instability

Takashi Iwai 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.


Takashi


More information about the Alsa-devel mailing list