[pulseaudio-discuss] [RFC PATCH] alsa-sink: Reduce hardware pointer update syscalls
Laurențiu Nicola
lnicola at dend.ro
Thu Oct 2 08:36:57 PDT 2014
On Thu, Oct 2, 2014, at 14:43, Raymond Yau wrote:
>
> What do mean when you say default-fragments *
> default-fragment-size-msec?
>
I suppose PulseAudio uses a ring of `default-fragments` buffers, with a
length of `default-fragment-size-msec` each. For example, for 4
fragments of 25 ms, I get "snd_pcm_delay() returned a value that is
exceptionally large: -88204 bytes (-500 ms).", with 500 ms = -5 * 4 *
25.
> Seem pulseaudio using 200ms buffer and 100ms period
>
> it is strange that hwptr is zero when app_ptr is 8820
>
> http://cgit.freedesktop.org/pulseaudio/pulseaudio/plain/src/tests/alsa-time-test.c
>
> Do alsa-time-test run with fillrate 441 with 10ms Interval ?
>
Not sure I'm running it properly, but..
$ src/alsa-time-test default 2>&1 | wgetpaste -s gists
Your paste can be seen here:
https://gist.github.com/1c21953104271873047a
As you can see, it crashes with "alsa-time-test:
tests/alsa-time-test.c:244: main: Assertion `(unsigned) avail <=
buffer_size' failed." If I run "src/alsa-time-test default 0 441", it
works just fine -- as long as I don't touch it:
--- snip ---
179 1711866 1711860 1693990 78939 177 4234 0 0
3
60 1711926 1711860 1693990^Z
[1]+ Stopped src/alsa-time-test default 0 441
$ fg
src/alsa-time-test default 0 441
78939 221 4234 0 0 3
1480593 3192519 3192476 3173990 79380 65489 -61034 4 441
3
alsa-time-test: tests/alsa-time-test.c:244: main: Assertion `(unsigned)
avail <= buffer_size' failed.
Is this unexpected?
Regards,
Laurentiu
> alsa-sink-USB Audio] alsa-sink.c: Underrun!
>
> E: [alsa-sink-USB Audio] alsa-util.c: snd_pcm_delay() returned a value
> that
> is exceptionally large: -176572 bytes (-1000 ms).
>
> E: [alsa-sink-USB Audio] alsa-util.c: Most likely this is a bug in the
> ALSA
> driver 'snd_usb_audio'. Please report this issue to the ALSA developers.
>
> E: [alsa-sink-USB Audio] alsa-util.c: snd_pcm_dump():
>
> E: [alsa-sink-USB Audio] alsa-util.c: Hardware PCM card 0 'USB Audio
> CODEC'
> device 0 subdevice 0
>
> E: [alsa-sink-USB Audio] alsa-util.c: Its setup is:
>
> E: [alsa-sink-USB Audio] alsa-util.c: stream : PLAYBACK
>
> E: [alsa-sink-USB Audio] alsa-util.c: access : MMAP_INTERLEAVED
>
> E: [alsa-sink-USB Audio] alsa-util.c: format : S16_LE
>
> E: [alsa-sink-USB Audio] alsa-util.c: subformat : STD
>
> E: [alsa-sink-USB Audio] alsa-util.c: channels : 2
>
> E: [alsa-sink-USB Audio] alsa-util.c: rate : 44100
>
> E: [alsa-sink-USB Audio] alsa-util.c: exact rate : 44100 (44100/1)
>
> E: [alsa-sink-USB Audio] alsa-util.c: msbits : 16
>
> E: [alsa-sink-USB Audio] alsa-util.c: buffer_size : 8820
>
> E: [alsa-sink-USB Audio] alsa-util.c: period_size : 4410
>
> E: [alsa-sink-USB Audio] alsa-util.c: period_time : 100000
>
> E: [alsa-sink-USB Audio] alsa-util.c: tstamp_mode : ENABLE
>
> E: [alsa-sink-USB Audio] alsa-util.c: period_step : 1
>
> E: [alsa-sink-USB Audio] alsa-util.c: avail_min : 4410
>
> E: [alsa-sink-USB Audio] alsa-util.c: period_event : 1
>
> E: [alsa-sink-USB Audio] alsa-util.c: start_threshold : -1
>
> E: [alsa-sink-USB Audio] alsa-util.c: stop_threshold : 1156055040
>
> E: [alsa-sink-USB Audio] alsa-util.c: silence_threshold: 0
>
> E: [alsa-sink-USB Audio] alsa-util.c: silence_size : 0
>
> E: [alsa-sink-USB Audio] alsa-util.c: boundary : 1156055040
>
> E: [alsa-sink-USB Audio] alsa-util.c: appl_ptr : 8820
>
> E: [alsa-sink-USB Audio] alsa-util.c: hw_ptr : 0
> _______________________________________________
> pulseaudio-discuss mailing list
> pulseaudio-discuss at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
More information about the pulseaudio-discuss
mailing list