At Wed, 18 Mar 2009 11:51:08 -0700, dfoley wrote: > > Takashi Iwai wrote: > > At Tue, 17 Mar 2009 21:56:06 -0700, > > dfoley wrote: > >> I'm currently having a problem with playing wave files > >> > >> root@tsi-tpcxx:~# aplay /usr/share/sounds/alsa/Front_Center.wav > >> Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono > >> mapped channel 10 to 2 > >> underrun!!! (at least 130.662 ms long) > >> underrun!!! (at least 140.809 ms long) > >> > >> I've narrowed it down to the commit ed3da3d9a0ef13c6fe1414ec73c9c1be12747b62 in linux-next/sound-2.6-tiwai.git. > >> ALSA: Rewrite hw_ptr updaters > >> > >> The audio works fine, when I reverse this commit. > > > > Could you build with CONFIG_SND_DEBUG_XRUN and set below? > > echo 1 > /proc/asound/card0/pcm0p/xrun_debug > > > > It will show you why the playback skips. It means usually the pointer > > callback is unstable. The commit changed the xrun check more > > strictly. > > > > > > Takashi > > root@tsi-tpcxx:~# echo 1 > /proc/asound/card0/pcm0p/xrun_debug > root@tsi-tpcxx:~# aplay /usr/share/sounds/alsa/Front_Center.wav > Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono > mapped channel 10 to 2 > hda_codec: Lost interrupts? (stream=0, delta=20004, intr_ptr=2048) > XRUN: pcmC0D0p > underrun!!! (at least 58.490 ms long) > hda_codec: Lost interrupts? (stream=0, delta=20003, intr_ptr=2048) > XRUN: pcmC0D0p > underrun!!! (at least 58.254 ms long) > hda_codec: Lost interrupts? (stream=0, delta=20004, intr_ptr=2048) So, actually either the interrupt timing or the pointer callback is wrong on your driver. Try to add a debug print in your pointer callback to print the returned value at each call (better together with runtime->period_size and runtime->buffer_size to refer). Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel