Hi Takashi-san > > We noticed that our PulseAudio has crackling / skipping noise > > which doesn't happen on normal aplay. > > And it was removed if we do below > > > > load-module module-hal-detect tsched=0 > > > > According to google, it say > > > > tsched Since 0.9.11. Use system-timer based model (aka glitch-free). > > Defaults to 1 (enabled). If your hardware does not return accurate timing > > information (e.g. Creative sound cards) you can try to set tsched=0 to > > enable the interupt based timing which was used in 0.9.10 and before. > > > > Here, what does this "return accurate timing information" mean ? > > Is it struct snd_pcm_ops::pointer ?? > > Yes. Also runtime->delay is taken into account. > > Both information have to be accurate enough. With tsched=1, the > period update is basically ignored and PA tries to update the buffer > at its own timing. The samples to be updated are determined by avail > and delay values of snd_pcm_status, which are calculated from hw_ptr, > appl_ptr and delay in the kernel. > > Also, such a problem might be some memory coherency issue. OK, thank you for your explanation. My current driver updates snd_pcm_ops::pointer only when DMA transfer was finished, but I guess it needs to adjust to update it during transfer, too. I think I can use dmaengine_tx_status() for this purpose. I don't know how to know about delay, but I will try update pointer as 1st step. Best regards --- Kuninori Morimoto _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel