On Wed, Jun 2, 2010 at 2:29 PM, John Lindgren john.lindgren@tds.net wrote:
In a multi-threaded application it is possible for snd_pcm_delay or an equivalent function to be called by one thread while another is sitting in snd_pcm_writei. In this case, snd_pcm_delay does not take into account that there may not be enough space for all the data passed to snd_pcm_writei to be written to the ring buffer at once, and will return incorrect values.
Hi. I've been getting "pcm_hw.c: snd_pcm_hw_delay() SNDRV_PCM_IOCTL_DELAY failed." in my xine log and after some talks with one of the devs, he suggested that alsa was not getting data fast enough in some cases (iirc). Could you please email me a copy of your patch (so I don't have to hand-patch) to try? Hopefully it will fix this damn problem once and for all.
Thanks, Derek