Hi 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. BR, Lixin å?¨ 2015å¹´06æ??09æ?¥ 11:38, Raymond Yau å??é??: > > > > > I found some audio noise problem when I trying to set the sink > latency to a lower value. > > > > here is the alsa dump: > > > > D/NMAudio ( 1959): Its setup is: > > D/NMAudio ( 1959): stream : PLAYBACK > > D/NMAudio ( 1959): access : MMAP_INTERLEAVED > > D/NMAudio ( 1959): format : S16_LE > > D/NMAudio ( 1959): subformat : STD > > D/NMAudio ( 1959): channels : 2 > > D/NMAudio ( 1959): rate : 22050 > > D/NMAudio ( 1959): exact rate : 22050 (22050/1) > > D/NMAudio ( 1959): msbits : 16 > > D/NMAudio ( 1959): buffer_size : 8192 > > D/NMAudio ( 1959): period_size : 2048 > > D/NMAudio ( 1959): period_time : 92879 > > D/NMAudio ( 1959): tstamp_mode : ENABLE > > D/NMAudio ( 1959): period_step : 1 > > D/NMAudio ( 1959): avail_min : 7751 > > D/NMAudio ( 1959): period_event : 0 > > D/NMAudio ( 1959): start_threshold : -1 > > D/NMAudio ( 1959): stop_threshold : 1073741824 > > D/NMAudio ( 1959): silence_threshold: 0 > > D/NMAudio ( 1959): s > > > > here is the log when problem happened: > > https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/tree/include/linux/dmaengine.h > > * @DMA_RESIDUE_GRANULARITY_SEGMENT: Residue is updated after each > successfully > * completed segment of the transfer (For cyclic transfers this is > after each > * period). This is typically implemented by having the hardware > generate an > * interrupt after each transferred segment and then the drivers > updates the > * outstanding residue by the size of the segment. Another possibility > is if > * the hardware supports scatter-gather and the segment descriptor has > a field > * which gets set after the segment has been completed. The driver > then counts > * the number of segments without the flag set to compute the residue. > * @DMA_RESIDUE_GRANULARITY_BURST: Residue is updated after each > transferred > * burst. This is typically only supported if the hardware has a progress > * register of some sort (E.g. a register with the current read/write > address > * or a register with the amount of bursts/beats/bytes that have been > * transferred or still need to be transferred). > */ > > How accurate can you sound card hw_ptr increase ? period size or DMA > brust size ? > > http://mailman.alsa-project.org/pipermail/alsa-devel/2014-September/081501.html > > you can try Alexander's pcm_avail.c > > > > _______________________________________________ > pulseaudio-discuss mailing list > pulseaudio-discuss at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20150609/fc43ca7f/attachment.html>