[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.
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.
Multiple warnings, errors and freezes due to buffer size change events (see command line output when running
zrythm_launch from the terminal)
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).