[invalid] pipewire changes buffer sizes during freewheeling, causing errors during export in Zrythm
If you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment:
Parabola GNU/Linux (Arch Linux based), GNOME
gst-plugin-pipewire 1:0.3.28-1
pipewire 1:0.3.28-1
pipewire-alsa 1:0.3.28-1
pipewire-jack 1:0.3.28-1
pipewire-jack-dropin 3-1
pipewire-media-session 1:0.3.28-1
pipewire-pulse 1:0.3.28-1
Description of Problem:
While in freewheel mode (after setting jack_set_freewheel()
), pipewire sends multiple buffer size change events and causes a lot of issues in Zrythm. I am not even sure how to process all those buffer size changes while I'm running my processing loop multiple times per second. I do this in a separate thread to export the timeline material.
Pipewire should freeze the buffer sizes (i.e., make them fixed/unchangeable) while in freewheeling mode to prevent these events from being sent and causing issues and then unfreeze them when freewheeling is off.
How Reproducible:
Always
Steps to Reproduce:
In latest Zrythm (commit bc37b3ad5d4084eb9de5d1d051f4e1b6b1b52412 as of now, likely reproducible with v1.0.0-alpha.16.1.1 as well)
- Create a blank project
- Press Control-E to bring up the export dialog
- Export the mixdown using the "Song" selection
See below for the settings to use.
Actual Results:
Multiple warnings, errors and freezes due to buffer size change events (see command line output when running zrythm_launch
from the terminal)
Expected Results:
No buffer size changes (which cause those issues) during freewheeling.
Additional Info Eg. pw-dump -N > file
(As Attachment Please):
Note that export works without issues if I don't use freewheeling mode (it also worked with freewheeling mode before pipewire implemented it in the latest release, presumable because it did nothing).