| 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 streamBim bam PAM! In this talk, we’re diving into the kitchen of system security to look at the PAM (Pluggable Authentication Modules) architecture.
We’ll start by deconstructing the classic PAM lifecycle. But instead of just "wrapping" the C API in Rust and hoping for the best, we’ll introduce nonstick and typestate pattern for a foolproof library crate.
When subscribed to notifications, an email will be sent to you for all added annotations.
Your user account has no email address.