#sink #server #protocols #native #client #sound #format

pulseaudio

A native rust implementation of the PulseAudio protocol

4 releases

0.2.1 Mar 13, 2024
0.2.0 Feb 2, 2024
0.1.1 Jan 5, 2024
0.1.0 Dec 29, 2023

#263 in Audio

MIT license

760KB
6.5K SLoC

pulseaudio-rs

tests docs

This is a native rust implementation of the PulseAudio protocol, suitable for writing clients and servers.

Currently implemented:

  • Low-level serialization and deserialization of the wire format (called "tagstructs")

Not yet implemented (but contributions welcome!)

  • A higher level async-friendly API
  • memfd/shm shenanigans for zero-copy streaming

Examples:


lib.rs:

A pure Rust implementation of the PulseAudio protocol, suitable for writing servers and clients.

Dependencies