A recap of the PipeWire workshop held at Embedded Recipes 2025 in Nice, France, covering five major discussion areas: video transport improvements (routing video like audio with FFmpeg/Vulkan converters and better format negotiation in WirePlumber), a new Rust-based re-implementation of SPA and libpipewire that talks to the PipeWire daemon natively without C bindings, Time-Sensitive Networking (TSN) issues with PTP clock accuracy and the recommended fix of using system clock with external synchronization, GStreamer element improvements for audio/video transport, and Bluetooth codebase maintainability. Additional topics included multi-stream node support, WirePlumber policy bugs, and a proposal for a permissions system for audio access beyond Flatpak portals.

8m read timeFrom collabora.com
Post cover image
Table of contents
Video status updateRust effortsTSN NetworkingPipeWire issuesStreams on nodesGStreamer elementsBluetoothPermissionsWhat's next?

Questions this post answers

What is the difference between the new Rust PipeWire library and the existing pipewire-rs bindings?

The new Rust effort re-implements the PipeWire protocol natively in Rust, allowing Rust clients to communicate with the PipeWire daemon over the socket without calling into any C libraries. The older pipewire-rs project, by contrast, provides Rust bindings on top of the existing C API. The new library also aims to expose SPA interfaces natively and support dynamically loading or implementing SPA plugins in Rust. Developers evaluating Rust integration paths for PipeWire can track this and related developments on daily.dev.

Why is using /dev/ptp directly as a clock source in PipeWire problematic for TSN?

Kernel driver implementations of clock primitives like clock_gettime() on PTP devices are expensive in terms of latency, meaning PipeWire does not get accurate timestamps when calling them directly. The recommended approach is to always use the system clock and rely on an external daemon to synchronize the PTP source with the system clock using proven synchronization techniques. Engineers working on TSN or real-time audio networking can follow PipeWire's evolving approach on daily.dev.

4 Impressions