At last, the long-awaited first major release of PipeWire has arrived, a multimedia server and framework designed for real-time audio output and processing. It has API and ABI compatibility with ALSA, PulseAudio, and JACK. There aren’t many changes, but they are significant (after all, it's the first release version).
Key Changes:
- Memory leak in memfd/dmabuf when unloading buffers during shutdown has been fixed.
- Handled concurrent calls to jack_port_get_buffer(), as this is used in Ardour.
- Improved time representation (reduced fluctuations) in ALSA when using IRQ.
- Multiple documentation improvements.
Other changes:
PipeWire
- Now PIPEWIRE_DLCLOSE is observed everywhere, and pw_in_valgrind() has been removed.
- Removed the warning that occurred when a client attempted to change ignored parameters.
Modules
- Fixed a potential segmentation fault when copying mix structures.
- Possible race conditions in setrlimit in module-rt have been resolved.
- Memory leak in filter-chain has been fixed.
- The rtp.prime parameter is set for senders (but not receivers).
- ROC modules have been ported to ROC 0.3.
SPA
- A parameter for delay has been added in libcamera.
- Some warnings during compilation have been corrected.
- The EVL plugin has been updated.
Bluetooth
- LC3 codec has been added, along with improved compatibility.
PulseAudio
- Fixed an issue in sending events when changing the output or source state.
JACK
- Improved handling of transport and time. Unique identifiers are now used to create sequential snapshots of the current time and transport.
- Removed unused port parameters enumeration.
- Buffer reuse has been optimized.
Documentation
- Man pages for pw-dump, pw-loopback, pipewire-pulse, and modules have been added.
- Man pages are now generated using Doxygen.
- Documentation for PulseAudio modules has been added.
From other changes you can note the addition of support for GNU/Hurd.
Source: linux.org.ru
