The PipeWire project has announced the release of PipeWire 1.2.4, a bugfix update that maintains API and ABI compatibility with all previous 1.2.x and 1.0.x versions. This means users can upgrade without worrying about breaking existing applications that rely on PipeWire.
PipeWire 1.2.4 Highlights
This latest version addresses several important issues:
- Crash Fix During Cleanup: One of the significant fixes prevents a crash that could occur during the cleanup of global objects. This enhancement improves the overall stability of the system.
- Improved Device Scanning: PipeWire now utilizes systemd-logind to scan for new devices in the Video4Linux2 (v4l2) subsystem. This change enhances the detection and handling of video devices, making it more seamless when connecting webcams or other video capture hardware.
- Additional Bug Fixes and Improvements: Beyond these highlights, several other minor bugs have been squashed, and performance improvements have been made to ensure a smoother user experience.
The new release also brings stability improvements. The crash during global cleanup has been resolved, reducing the likelihood of unexpected terminations. In addition, the dispatch mechanism for “RequestProcess” has been improved, optimizing how client requests are handled within the system.
On the tools front, an issue with float parsing has been resolved. The Simple Plugin API (SPA), a crucial component of PipeWire’s modular architecture, has received multiple updates.
For example, when stopping a camera stream in libcamera, the ringbuffer is now properly cleared. This change prevents old or corrupted frames from persisting in memory, which could previously lead to glitches or increased memory usage.
Moreover, the v4l2 plugin benefits from the enhanced device scanning capabilities provided by systemd-logind. Additionally, the first dropped buffer in v4l2 is now queued rather than discarded.
Regarding audio processing, PCM devices are unlinked to avoid “broken pipe” errors when moving drivers. This change ensures smoother transitions and maintains stability in audio workflows, which is particularly beneficial for professional audio applications that demand high reliability.
Lastly, for users of JACK with PipeWire, there’s an important update that improves compatibility with applications like GStreamer. The “buffer_size” callback is now emitted during “jack_activate().”
Refer to the changelog for more information about all changes in the new version.