The PipeWire team has announced the release of PipeWire 1.2.5, a bugfix update that maintains API and ABI compatibility with all previous 1.2.x and 1.0.x versions.
PipeWire 1.2.5 Highlights
One of the key issues addressed in this update is a file descriptor mismatch within the protocol. In certain situations, this mismatch could lead to file descriptor leaks and cause applications to crash.
Another major fix involves the mixer not updating after a port setting change. Previously, this bug could result in muted audio during system startup or when resuming from suspend mode. The new release ensures the mixer correctly updates in response to port changes, providing uninterrupted audio functionality.
PipeWire 1.2.5 also rectifies a potential use-after-free vulnerability in module-rt
that could occur when stopping a thread. Addressing this issue enhances the stability of real-time modules, reducing the risk of unexpected behavior or system crashes.
In addition to these fixes, the PipeWire JACK API has been improved to properly free cached objects, eliminating potential memory leaks. This enhancement contributes to better memory management and overall system performance over extended periods of use.
Moreover, the PipeWire core has undergone refinements to improve its operation. Now, RequestProcess
commands are only sent after a node has fully transitioned to the RUNNING state. This change ensures smoother processing and reduces the likelihood of state-related errors.
Furthermore, ongoing fixes for FreeBSD enhance compatibility and performance on that platform. But there’s more.
Active links that transition to states below PAUSED are now handled more effectively, improving renegotiation processes in various scenarios. This leads to more stable stream management and reduces audio glitches during state changes.
Network modules have been updated to accept hostnames in addition to IP addresses. This added flexibility simplifies network configurations, making it easier for users to set up and manage networked audio and video streams.
Support for elogind
has been introduced in the Simple Plugin API (SPA), providing better session management for systems that do not utilize systemd
.
Additional error checks have also been implemented when converting JSON to POD (Plain Old Data) to address issues reported by the community.
In the JACK backend, the handling of Bar Beat Tick (BBT) transport has been improved. New fields have been added to accurately interpret JACK semantics, ensuring better synchronization and timing for audio applications.
Finally, buffer alignment has also been optimized by aligning buffers according to the maximum CPU alignment rather than a fixed 16-byte alignment, which can improve performance on various hardware configurations.
Refer to theย changelogย for more information about all changes in the new version.