Hi

  below is what the terminate shows when running pcm_avail.c

  uid=0 gid=1007@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
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to