If a stream takes a little too long to process, it will stop processing
- PipeWire version (
pipewire --version
): 0.3.61 and dd420934 - Distribution and distribution version (
PRETTY_NAME
from/etc/os-release
): Arch Linux - Desktop Environment: KDE Plasma
- Kernel version (
uname -r
): 6.0.10-arch2-1
Description of Problem:
If a stream's process callback takes longer to process than the rate the node it's streaming from produces packets, it will stop being processed. This doesn't occur if the stream has the RT_PROCESS
flag set.
How Reproducible:
Always
Steps to Reproduce:
- Have a sink running at a quantum of
q
(I usedpw-top
to get the exact quantum) - Have a stream capture the sink with its process callback taking more than
q
*1000000/sink sample rate
microseconds
I wrote an example program to reproduce this here
Actual Results:
The stream gets processed a few times, then stops
Expected Results:
The stream keeps running. If this isn't a bug, how should I make the stream restore its processing?
Additional Info (as attachments):
-
pw-dump > pw-dump.log
: pw-dump.log