`pipewiresink` runs out of buffers?
- PipeWire version (
pipewire --version
): 0.3.48 - Distribution and distribution version (
PRETTY_NAME
from/etc/os-release
): NixOS 22.05 (Quokka) - Desktop Environment: N/A
- Kernel version (
uname -r
): 5.15.22
Description of Problem:
Playing certain tracks in a media player that uses playbin
and a pipewiresink
produces audio that stutters at a rate of, I don't know, 10Hz or so, as if somebody was holding a play-pause button.
The pipewiresink
element keeps reporting
0:00:01.312268926 3365414 0x7f365c040d20 WARN pipewirepool gstpipewirepool.c:184:acquire_buffer: queue empty
0:00:01.397642242 3365414 0x7f365c040d20 WARN pipewirepool gstpipewirepool.c:184:acquire_buffer: queue empty
0:00:01.483041757 3365414 0x7f365c040d20 WARN pipewirepool gstpipewirepool.c:184:acquire_buffer: queue empty
0:00:01.568368025 3365414 0x7f365c040d20 WARN pipewirepool gstpipewirepool.c:184:acquire_buffer: queue empty
0:00:01.653750805 3365414 0x7f365c040d20 WARN pipewirepool gstpipewirepool.c:184:acquire_buffer: queue empty
0:00:01.739049187 3365414 0x7f365c040d20 WARN pipewirepool gstpipewirepool.c:184:acquire_buffer: queue empty
0:00:01.824434999 3365414 0x7f365c040d20 WARN pipewirepool gstpipewirepool.c:184:acquire_buffer: queue empty
0:00:01.909794377 3365414 0x7f365c040d20 WARN pipewirepool gstpipewirepool.c:184:acquire_buffer: queue empty
every time a stutter event occurs. These log messages and the stutters go away as soon as I connect the output's monitor_*
endpoints to audacity, but remain if they are connected to easyeffects or pw-record. Here's a recording: yuck
Attaching a GST_DEBUG=5
log excerpt: log
How Reproducible:
Sometimes. Seems to require a specific media file, and a specific pipewire connections. Probably depends on hardware as well (Intel Corporation Comet Lake PCH-LP cAVS.)
Steps to Reproduce:
I'm not entirely sure! This comes up occasionally when I'm listening to music with quodlibet. I can see some symptoms when using gst-launch
too:
env GST_DEBUG=3 gst-launch-1.0 playbin uri="file://$PWD/some.mp3" audio-sink=pipewiresink
but without the stutters.
Actual Results:
See Description of the Problem section above.
Expected Results:
pipewiresink
delivers audio properly at all times (just like it does when I use the patchbay to connect the audio device's monitor into audacity)
Additional Info (as attachments):
-
pw-dump > pw-dump.log
: dump.log