Speaker
Description
Earlier this year, I began writing a native PipeWire client library in Rust. The aim is to provide a safer alternative to the bindings around the C library, while also reducing the amount of boilerplate in both the library implementation and the user-facing API.
Achieving parity with the C API is no small task. In this talk, I will go over the overall approach to solving the problem, review the current state of the library (basic clients are already possible!), and chart a course to a complete native Rust API for PipeWire.
I will also take a detour into the challenges of using Rust for a low-level system library, such as reconciling the PipeWire API's object lifecycle with Rust's ownership and lifetime system.
Speaker Bio
Arun is a developer/maintainer of GStreamer, PipeWire and PulseAudio. He enjoys working in the lower layers of the system stack, long walks on the beach, and thinking about the impact of modern type-safe languages on software development.
Duration of the talk |
---|