<p><br>
>><br>
>>  ><br>
>>  >   below is what the terminate shows when running pcm_avail.c<br>
>>  ><br>
>>  >   uid=0 gid=1007@nutshell:/ # alsactl_test<br>
>>  > min_period_size: 8 frames, dir: 0<br>
>>  > Playback hwparams: FIFO size is 8<br>
>>  > Hardware PCM card 0 'rsnd-dai.0-dirana3.0' device 0 subdevice 0<br>
>>  > Its setup is:<br>
>>  >   stream       : PLAYBACK<br>
>>  >   access       : RW_INTERLEAVED<br>
>>  >   format       : S16_LE<br>
>>  >   subformat    : STD<br>
>>  >   channels     : 2<br>
>>  >   rate         : 48000<br>
>>  >   exact rate   : 48000 (48000/1)<br>
>>  >   msbits       : 16<br>
>>  >   buffer_size  : 4096<br>
>>  >   period_size  : 1024<br>
>>  >   period_time  : 21333<br>
>>  >   tstamp_mode  : NONE<br>
>>  >   period_step  : 1<br>
>>  >   avail_min    : 1024<br>
>>  >   period_event : 0<br>
>>  >   start_threshold  : 1024<br>
>>  >   stop_threshold   : 4096<br>
>>  >   silence_threshold: 0<br>
>>  >   silence_size : 0<br>
>>  >   boundary     : 1073741824<br>
>>  >   appl_ptr     : 0<br>
>>  >   hw_ptr       : 0<br>
>>  > Playing silence<br>
>>  > Available: 0, loop iteration: 0<br>
>>  > Available: 1024, loop iteration: 1469<br>
>>  > Available: 2048, loop iteration: 5609<br>
>>  > Available: 3072, loop iteration: 9667<br>
>>  ><br>
>>  >  All I got is just the 4 lines.<br>
>><br>
>> If your sound card only increment hw_ptr only at interrupt occur, you<br>
>> need to increase default_rewind_safeguard from 256 bytes to your<br>
>> selected period size<br>
><br>
><br>
> No. PulseAudio, in timer-scheduling mode, does not use periods at all. You need to change the driver so that it reports SNDRV_PCM_INFO_BATCH, so that PulseAudio does not try to use this mode.<br>
><br>
><br>
>><br>
>> This mean that  your sound card won't work with timer scheduling or<br>
>> dynamic latency, you can only archieve low latency by decrease period size<br>
>> Why do pulseaudio enable timer scheduling when most sound card use IRQ ?<br>
><br>
><br>
> Because most broken sound cards driver authors forget to report SNDRV_PCM_INFO_BATCH?<br>
></p>
<p>Most driver use irq interrupt , only a few sound cards ( seem less than ten) can report   DMA_RESIDUE_GRANULARITY_BURST</p>
<p>Why do timer based scheduling enablef by default ?</p>