2011/5/6 Baek Chang baeksan@ccrma.stanford.edu
Hi,
Occasionally, when using pulseaudio I see the following message:
snd_pcm_avail_update() returned a value that is exceptionally large.
This seems to be an issue with the ALSA driver itself. My question is how does snd_pcm_avail_update(), get updated? It uses hw buffer positions correct? Is there an example driver that implements snd_pcm_avail_update() correctly and updates buffer positions correctly?
Thanks Baek
You have to provide a test case which can reproduce the problem
(e.g.http://thread.gmane.org/gmane.linux.alsa.devel/78521 )
To debug, you need to enable DEBUG_TIMING in pulseaudio/src/modules/alsa/alsa-sink.c and pulseaudio/src/modules/alsa/alsa-source.c
and follow http://colin.guthr.ie/2010/09/compiling-and-running-pulseaudio-from-git/
The free-glitch mode is tailor made for snd-hda-intel , so it should be the example driver
aplay can use minimum period size without any xrun on my snd-hda-intel
aplay -Dhw:CARD=Intel -v --period-size=32 any.wav