PipeWire, the innovative multimedia handling framework, has released version 1.2, maintaining API and ABI compatibility with its predecessors while introducing substantial enhancements.
One of the release’s highlights is the support for asynchronous processing. Nodes within the PipeWire framework can now operate asynchronously, meaning the graph can continue processing without waiting for a node to output data.
This method helps avoid potential bottlenecks, adding a single cycle of latency but significantly enhancing overall flow efficiency, particularly for non-realtime streams and filters.
PipeWire 1.2 also introduces ‘node.sync-group’, a new concept that groups nodes to synchronize their operations effectively. This is especially useful when starting JACK transport, ensuring consistent transport time across all nodes.
Additionally, the update enhances config parsing, reporting errors more accurately with precise line and column numbers, aiding in quicker troubleshooting.
Another critical update is the introduction of mandatory metadata for buffer parameter negotiation. This feature ensures that buffer planes are only negotiated when specific metadata requirements are met, such as in cases requiring explicit synchronization support.
Moreover, the new version extends its functionality to handle multiple data loops within the server and client environments, with added support for setting CPU affinity and priorities.
Regarding compatibility and integration, PipeWire 1.2 includes a new snapcast-discover module to facilitate streaming to snapcast servers and introduces improvements in how peers are linked and managed, aiming to reduce dropouts and enhance connection stability.
The update also includes several crucial fixes and enhancements across various components:
- The module-rtp-sap now improves cleanup property propagation and status reporting.
- The RAOP sink module has been updated for better format support, particularly on 32-bit systems.
- Tools like
pw-cli
have seen bug fixes in monitoring codes, and SPA components have received important updates in multichannel processing, particularly in webrtc’s AEC.
Lastly, PipeWire 1.2 includes multiple updates for developers working with GStreamer and Bluetooth technologies.
GStreamer benefits from logging improvements and fixes for race conditions in bufferpool activations, while Bluetooth enhancements improve BAP broadcast code parsing, ensuring more reliable multimedia experiences across various devices.
You can refer to the changelog for more information about all changes in the new version.