when pausing immediately after start then playback stalls for the paused duration after resume
- PipeWire version (
pipewire --version
): 0.3.76 (and other older versions) - Distribution and distribution version (
PRETTY_NAME
from/etc/os-release
): Debian sid and custom embedded distro - Desktop Environment: any
- Kernel version (
uname -r
): 6.4.4 and others
Description of Problem:
- The basic setup is a GStreamer application that plays a file.
- The audio sink is a pulsesink so pipewire is used via pipwire-pulse.
- The application pauses immediately after starting and resumes some time later.
- After resuming, audio playback stalls the same amount of time that the pipeline was paused.
- This does not happen with pulseaudio instead of pipewire/pipewire-pulse as audio daemon
- This does not happen with any other GStreamer audio sink
- The problem originally occurred with a custom application, but it can be reproduced with a gst-validate scenario
How Reproducible:
It happened all the time for me with the steps described below. But increasing the time before pausing makes it less likely until the problem goes away entirely. So I'm guessing this is some race condition. So it may not happen all the time but it should happen with a pretty high probability.
Steps to Reproduce:
- Use this gst-validate scenario:
pause, name=First-pause, playback-time=0.0, duration=5.0 stop, playback-time=2.0```
- take a media file with audio (any file with or without video worked for me)
- run it like this:
time gst-validate-1.0 --set-scenario /path/to/the/test.scenario playbin uri=file:///path/to/the/media/file
Actual Results:
The test runs for ~12 seconds: 5s pause + 5s stalled + 2s playback
Expected Results:
The test should run for ~7 seconds: 5s pause + 2s playback