[alsa-devel] First 50 milliseconds of audio clipping with dmix
Raymond Yau
superquad.vortex2 at gmail.com
Thu May 20 06:04:06 CEST 2010
2010/5/20 Tyler Conant <tconant at taser.com>
> I'm trying to use dmix on an OMAP processor. I'm experiencing the first 50
> ms of the sample getting clipped. When I aplay directly to the hw:0 I don't
> get the clipping. The difference I see between the alsa configuration
> between dmix and hw:0 is the start_threshold, stop_threshold and
> silence_size. When it's direct to hw:0 the start and stop threshold are
> equal to the buffer size. For dmix the start threshold is 1 and the stop
> threshold is 1445199872. Is this dmix which is setting the start and stop or
> is this aplay. I'm only guessing this is the reason why the first part is
> clipping. The only bug which seem similar is
> http://bugs.gentoo.org/show_bug.cgi?id=218641 and it's already been closed
> out. I'm using alsa lib 1.0.23
>
>
> with hw:0
>
> Audio_Prompts # aplay -v -D hw:0 Click03.wav
> Playing WAVE 'Click03.wav' : Signed 16 bit Little Endian, Rate 44100 Hz,
> Mono
> Hardware PCM card 0 'TWL4030' device 0 subdevice 0
> Its setup is:
> stream : PLAYBACK
> access : RW_INTERLEAVED
> format : S16_LE
> subformat : STD
> channels : 1
> rate : 44100
> exact rate : 44100 (44100/1)
> msbits : 16
> buffer_size : 22052
> period_size : 5513
> period_time : 125011
> tstamp_mode : NONE
> period_step : 1
> avail_min : 5513
> period_event : 0
> start_threshold : 22052
> stop_threshold : 22052
> silence_threshold: 0
> silence_size : 0
> boundary : 1445199872
> appl_ptr : 0
> hw_ptr : 0
> /opt/axonapp/Audio_Prompts #
>
>
> With dmix:
>
> /Audio_Prompts # aplay -v Click03.wav
> Playing WAVE 'Click03.wav' : Signed 16 bit Little Endian, Rate 44100 Hz,
> Mono
> Plug PCM: Direct Stream Mixing PCM
> Its setup is:
> stream : PLAYBACK
> access : RW_INTERLEAVED
> format : S16_LE
> subformat : STD
> channels : 1
> rate : 44100
> exact rate : 44100 (44100/1)
> msbits : 16
> buffer_size : 22052
> period_size : 5513
> period_time : 125011
> tstamp_mode : NONE
> period_step : 1
> avail_min : 5513
> period_event : 0
> start_threshold : 22052
> stop_threshold : 22052
> silence_threshold: 0
> silence_size : 0
> boundary : 1445199872
> Hardware PCM card 0 'TWL4030' device 0 subdevice 0
> Its setup is:
> stream : PLAYBACK
> access : MMAP_INTERLEAVED
> format : S16_LE
> subformat : STD
> channels : 1
> rate : 44100
> exact rate : 44100 (44100/1)
> msbits : 16
> buffer_size : 22052
> period_size : 5513
> period_time : 125011
> tstamp_mode : ENABLE
> period_step : 1
> avail_min : 5513
> period_event : 0
> start_threshold : 1
> stop_threshold : 1445199872
> silence_threshold: 0
> silence_size : 1445199872
> boundary : 1445199872
> appl_ptr : 0
> hw_ptr : 0
> /opt/axonapp/Audio_Prompts #
>
>
> asound.conf:
> pcm.dmixer {
> type dmix
> ipc_key 2048
> ipc_key_add_uid true
> slave {
>
> channels 1
> pcm hw:0
> rate 44100
> period_time 125011
> period_size 5513
> buffer_size 22052
> }
> }
>
> pcm.asymed {
> type asym
> playback.pcm "dmixer"
> capture.pcm "hw:0,0"
> }
>
> pcm.!default {
> type plug
> slave.pcm "asymed"
> }
>
>
>
The major difference is access : MMAP_INTERLEAVED
More information about the Alsa-devel
mailing list