[pulseaudio-discuss] snd_pcm_avail no reliable

golden magic.lixin at gmail.com
Mon Jun 8 21:14:55 PDT 2015


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>


More information about the pulseaudio-discuss mailing list