> > > > >> > > >> > > >> > > > >> > below is what the terminate shows when running pcm_avail.c > > >> > > > >> > uid=0 gid=1007 at nutshell:/ # alsactl_test > > >> > min_period_size: 8 frames, dir: 0 > > >> > Playback hwparams: FIFO size is 8 > > >> > Hardware PCM card 0 'rsnd-dai.0-dirana3.0' device 0 subdevice 0 > > >> > Its setup is: > > >> > stream : PLAYBACK > > >> > access : RW_INTERLEAVED > > >> > format : S16_LE > > >> > subformat : STD > > >> > channels : 2 > > >> > rate : 48000 > > >> > exact rate : 48000 (48000/1) > > >> > msbits : 16 > > >> > buffer_size : 4096 > > >> > period_size : 1024 > > >> > period_time : 21333 > > >> > tstamp_mode : NONE > > >> > period_step : 1 > > >> > avail_min : 1024 > > >> > period_event : 0 > > >> > start_threshold : 1024 > > >> > stop_threshold : 4096 > > >> > silence_threshold: 0 > > >> > silence_size : 0 > > >> > boundary : 1073741824 > > >> > appl_ptr : 0 > > >> > hw_ptr : 0 > > >> > Playing silence > > >> > Available: 0, loop iteration: 0 > > >> > Available: 1024, loop iteration: 1469 > > >> > Available: 2048, loop iteration: 5609 > > >> > Available: 3072, loop iteration: 9667 > > >> > > > >> > All I got is just the 4 lines. > > >> > > >> If your sound card only increment hw_ptr only at interrupt occur, you > > >> need to increase default_rewind_safeguard from 256 bytes to your > > >> selected period size > > > > > > > > > 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. > > > > > > > > >> > > >> This mean that your sound card won't work with timer scheduling or > > >> dynamic latency, you can only archieve low latency by decrease period size > > >> Why do pulseaudio enable timer scheduling when most sound card use IRQ ? > > > > > > > > > Because most broken sound cards driver authors forget to report SNDRV_PCM_INFO_BATCH? > > > > Why pulseaudio rely on the flag if your program can find out the granulatity ? > > AFAIK, there isn't a way to figure out granularity. Having this would be nice as we could be more intelligent about our tsched behaviour. > But in this case, alecandra `s program already indicate hw_ptr only increment by period size which is not suitable to enable timer base scheduling The result also indicate pulseaudio have to change default rewind safeguard What granularity do pulseaudio need for timer base scheduling ? (e.g. sound card must report position better than 10ms processing time) -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20150609/db9ee097/attachment-0001.html>