roc-streaming / roc-toolkit

Real-time audio streaming over the network.
https://roc-streaming.org
Mozilla Public License 2.0
1.06k stars 213 forks source link

Pipewire sink and source #460

Open gavv opened 3 years ago

gavv commented 3 years ago

Last revised: Oct 2023

Not to be confused with pipewire modules for roc (#459).

Currently, when roc command-line tools (roc-recv, roc-send) run on pipwire, they use pulseaudio compatibility/emulation layer of pipewire. We probably want to implement native pipewire writer (in roc source code it's called sink) and reader (in roc source code it's called source) using pipewire APIs, to avoid unnecessary layers. See https://github.com/roc-streaming/roc-toolkit/issues/446#issuecomment-872932278

API: https://docs.pipewire.org/group__pw__stream.html

See also similar task #231.