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

Timur Tabi timur at freescale.com
Mon Feb 25 16:38:38 CET 2008

Takashi Iwai wrote:

> 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().

Are you talking about this code in snd_pcm_update_hw_ptr_pos?

	pos = substream->ops->pointer(substream);
	if (pos == SNDRV_PCM_POS_XRUN)
		return pos; /* XRUN */

What if my 'pointer' function never returns SNDRV_PCM_POS_XRUN?  How else can I 
get an underrun detected?

Timur Tabi
Linux kernel developer at Freescale

More information about the Alsa-devel mailing list