Hiya,
I've been playing with modern releases of pulseaudio.
In release 0.9.12 on an arm embedded system, the cpu load went from
around 12-16% to under 4%.
AWESOME!
But something seems broken with module-null-sink.
I looked at git and Lennert had a comment about teaching module-null-
sink about rewinds.
Debugging is always easier on x86 so I tried a simple null sink there.
Logs of output are below.
Where should I start looking to address this?
Any clues or breadcrumbs gratefully received :)
Thanks
Nick
I checked out the "master" branch from git, built it and got the
following message:
[EMAIL PROTECTED]:~$ paplay --device=test_null_sink ~/Sony\ CD-ROM\
Test\ Disk\ Type\ 3.0/Cantibile-Op-17.wav
Connection failure: Connection terminated
Stream errror: Connection terminated
Looking at the output of pulseaudio's log I see the following...
D: module-suspend-on-idle.c: Sink test_null_sink becomes busy.
D: memblockq.c: memblockq requested: maxlength=33554432, tlength=0,
base=4, prebuf=0, minreq=1 maxrewind=0
D: memblockq.c: memblockq sanitized: maxlength=33554432,
tlength=33554432, base=4, prebuf=0, minreq=4 maxrewind=0
I: sink-input.c: Created input 0 "/home/nick/Sony CD-ROM Test Disk
Type 3.0/Cantibile-Op-17.wav" on test_null_sink with sample spec
s16le 2ch 44100Hz and channel map front-left,front-right
I: protocol-native.c: Requested tlength=250.00 ms, minreq=20.00 ms
D: protocol-native.c: Traditional mode enabled, modifying sink usec
only for compat with minreq.
D: memblockq.c: memblockq requested: maxlength=4194304,
tlength=44100, base=4, prebuf=44100, minreq=3528 maxrewind=0
D: memblockq.c: memblockq sanitized: maxlength=4194304,
tlength=44100, base=4, prebuf=44100, minreq=3528 maxrewind=0
I: protocol-native.c: Final latency 460.00 ms = 210.00 ms + 2*20.00
ms + 210.00 ms
D: protocol-native.c: Requesting rewind due to end of underrun.
D: module-null-sink.c: Requested to rewind 352800 bytes.
D: sink.c: Processing rewind...
D: sink-input.c: Have to rewind 352800 bytes on render memblockq.
D: module-null-sink.c: Rewound 352800 bytes.
D: protocol-native.c: Requesting rewind due to end of underrun.
D: module-null-sink.c: Requested to rewind 352800 bytes.
D: sink.c: Processing rewind...
D: sink-input.c: Have to rewind 40012 bytes on render memblockq.
D: module-null-sink.c: Rewound 40012 bytes.
D: protocol-native.c: Requesting rewind due to end of underrun.
D: module-null-sink.c: Requested to rewind 352800 bytes.
E: sink.c: Assertion '!s->thread_info.rewind_requested' failed at
pulsecore/sink.c:632, function pa_sink_render(). Aborting.
Aborted
[EMAIL PROTECTED]:~$
The pulseconfig is very simple for this test:
load-module module-native-protocol-unix
load-module module-null-sink sink_name=test_null_sink
load-module module-alsa-sink device=usbLexiconAlpha sink_name=usbAudio
load-module module-alsa-sink device=intelHDA sink_name=hdaAudio
load-module module-alsa-source device=usbLexiconAlpha
source_name=usbAudioInput
load-module module-alsa-source device=intelHDA
source_name=hdaAudioInput
# default sinks/sources
set-default-sink usbAudio
set-default-source usbAudioInput
load-module module-suspend-on-idle
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss