[alsa-devel] How does ALSA detect underrun in OSS emulation?

Takashi Iwai tiwai at suse.de
Mon Feb 25 16:33:42 CET 2008


At Mon, 25 Feb 2008 09:22:41 -0600,
Timur Tabi wrote:
> 
> Can someone explain to me the exact method that ALSA uses to detect underrun 
> with OSS emulation?  I have a driver that reports underrun on almost every 
> period when I use OSS emulation and I'm playing with a non-supported sample 
> rate.  So I'm assuming that maybe my hardware is playing the audio too fast or 
> too slow, and the driver is returning periods before ALSA expects them.  What I 
> don't understand is: how does ALSA know that a period was finished too early. 
> Does it use a timer, or is it purely application driven?

It's just as same as on ALSA native API, checks the validity of the
current position reported by pointer callback in
snd_pcm_period_elapsed().


Takashi


More information about the Alsa-devel mailing list