[alsa-devel] Question about tsched=0 on PulseAudio
    Takashi Iwai 
    tiwai at suse.de
       
    Wed May 17 10:46:26 CEST 2017
    
    
  
On Wed, 17 May 2017 08:24:09 +0200,
Kuninori Morimoto wrote:
> 
> 
> Hi ALSA ML
> 
> 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.
Takashi
    
    
More information about the Alsa-devel
mailing list