| Action | Key |
|---|---|
| Play / Pause | K or space |
| Mute / Unmute | M |
| Toggle fullscreen mode | F |
| Select next subtitles | C |
| Select next audio track | A |
| Toggle automatic slides maximization | V |
| Seek 5s backward | left arrow |
| Seek 5s forward | right arrow |
| Seek 10s backward | shift + left arrow or J |
| Seek 10s forward | shift + right arrow or L |
| Seek 60s backward | control + left arrow |
| Seek 60s forward | control + right arrow |
| Seek 1 frame backward | alt + left arrow |
| Seek 1 frame forward | alt + right arrow |
| Decrease volume | shift + down arrow |
| Increase volume | shift + up arrow |
| Decrease playback rate | < |
| Increase playback rate | > |
| Seek to end | end |
| Seek to beginning | beginning |
You can use an external player to play this stream (like VLC).
HLS video streamEarlier 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.
When subscribed to notifications, an email will be sent to you for all added annotations.
Your user account has no email address.