Native low-latency PipeWire capture for -p (drop pw-record subprocess)

-p now connects a real capture stream via the pipewire crate and pushes
mono f32 straight into the render channel from the RT process callback,
instead of spawning pw-record and parsing its s16 stdout. It captures the
default sink monitor (what you hear), negotiates F32 at the graph's native
rate/channels, and takes a --latency <frames> quantum hint (default 256)
so you can trade CPU/xrun-risk for lower latency.

libpipewire becomes a build+runtime dependency: CI installs the dev
headers + clang, and the PKGBUILD depends on libpipewire.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GLUwWE2KmFPzhKaf67tWbx
This commit is contained in:
Bendik Aagaard Lynghaug
2026-09-13 11:16:53 +02:00
co-authored by Claude Opus 4.8
parent 3dbe5c4ddd
commit b230e6829a
6 changed files with 619 additions and 72 deletions
+1 -1
View File
@@ -7,7 +7,7 @@ arch=('x86_64' 'aarch64')
options=('!strip')
url="https://project.uhhm.no/bl/spectrust"
license=('MIT')
depends=()
depends=('libpipewire')
provides=('spectrust')
conflicts=('spectrust-git' 'spectrust-bin')
source_x86_64=("spectrust-v${pkgver}-x86_64.tar.gz::https://project.uhhm.no/bl/spectrust/releases/download/v${pkgver}/spectrust-v${pkgver}-x86_64.tar.gz")