[pulseaudio-discuss] snd_pcm_avail no reliable
Raymond Yau
superquad.vortex2 at gmail.com
Mon Jun 8 20:38:35 PDT 2015
>
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20150609/ff54179c/attachment-0001.html>
More information about the pulseaudio-discuss
mailing list