diff --git a/crates/pf-client-core/src/audio_wasapi.rs b/crates/pf-client-core/src/audio_wasapi.rs index 170a8256..2df9f3b8 100644 --- a/crates/pf-client-core/src/audio_wasapi.rs +++ b/crates/pf-client-core/src/audio_wasapi.rs @@ -32,9 +32,9 @@ const SAMPLE_RATE: usize = 48_000; /// Mic capture requests STEREO from WASAPI (autoconvert matrixes any endpoint layout down to /// it — the proven path; `read_from_device_to_deque` then delivers our requested format) and /// downmixes to MONO in code before the encoder: voice is mono at the source, the host accepts -/// any Opus channel layout (its stereo decoder upmixes), and half the samples halve the encode -/// + wire cost. The render path is multichannel — its channel count + block align are runtime, -/// driven by the host-resolved layout. +/// any Opus channel layout (its stereo decoder upmixes), and half the samples halve the +/// encode + wire cost. The render path is multichannel — its channel count + block align are +/// runtime, driven by the host-resolved layout. const CAPT_CHANNELS: usize = 2; /// Mic frames are 10 ms (480 mono samples) — any size ≤ 120 ms is fine host-side; 10 ms /// halves the frame-fill share of mouth-to-ear latency vs the old 20 ms. diff --git a/crates/punktfunk-host/src/gamestream/audio.rs b/crates/punktfunk-host/src/gamestream/audio.rs index 96ad2535..2a2e1cff 100644 --- a/crates/punktfunk-host/src/gamestream/audio.rs +++ b/crates/punktfunk-host/src/gamestream/audio.rs @@ -234,9 +234,10 @@ pub fn start( }); } -/// Stub — the audio plane needs an audio-capture backend (PipeWire on Linux, WASAPI on Windows) -/// + libopus; this keeps the remaining targets (e.g. macOS) compiling (crate doc: "the crate -/// compiles everywhere"). Reports failure the same way the real stream thread does: clears `running`. +/// Stub — the audio plane needs an audio-capture backend (PipeWire on Linux, WASAPI on +/// Windows) + libopus; this keeps the remaining targets (e.g. macOS) compiling (crate doc: +/// "the crate compiles everywhere"). Reports failure the same way the real stream thread +/// does: clears `running`. #[cfg(not(any(target_os = "linux", target_os = "windows")))] pub fn start( running: std::sync::Arc, diff --git a/crates/punktfunk-host/src/mgmt/tests.rs b/crates/punktfunk-host/src/mgmt/tests.rs index 37a12b11..256774fe 100644 --- a/crates/punktfunk-host/src/mgmt/tests.rs +++ b/crates/punktfunk-host/src/mgmt/tests.rs @@ -1649,10 +1649,11 @@ async fn hooks_get_shape_and_put_validation() { // ------------------------------------------------------------------ library scanners -/// The scanner list is platform-shaped and read-only-safe; the toggle rejects unknown ids with -/// 404. (A successful toggle PUT would write the developer's real `library-scanners.json`, so the -/// write path is exercised only through the unknown-id rejection here — the settings round-trip -/// itself is unit-tested in `library::scanners` against pure shapes.) +/// The scanner list is platform-shaped and read-only-safe; the toggle rejects unknown ids +/// with 404. (A successful toggle PUT would write the developer's real +/// `library-scanners.json`, so the write path is exercised only through the unknown-id +/// rejection here — the settings round-trip itself is unit-tested in `library::scanners` +/// against pure shapes.) #[tokio::test] async fn library_scanner_list_and_unknown_toggle() { let app = test_app(test_state(), None);