Phase 1
This commit is contained in:
@@ -28,10 +28,14 @@ low-overhead NFRs. Pairs cleanly with Tauri via Vite. → **ADR-0002.**
|
||||
|
||||
### Audio capture — WASAPI loopback in Rust ✅
|
||||
The `wasapi` crate provides safe Rust access to WASAPI including a **loopback** example
|
||||
(capture system output without a meeting bot). `cpal` is the cross-platform fallback. Known
|
||||
constraint: `AUDCLNT_STREAMFLAGS_LOOPBACK` and `AUDCLNT_STREAMFLAGS_EVENTCALLBACK` cannot be
|
||||
combined, so the capture loop must **poll** rather than rely on event callbacks. This shapes
|
||||
the audio thread design in `docs/02-architecture.md`. → **ADR-0001 / architecture.**
|
||||
(capture system output without a meeting bot). `cpal` is the cross-platform fallback.
|
||||
**Correction (Phase 1 implementation, verified against `wasapi` v0.15 source and current
|
||||
Windows):** `AUDCLNT_STREAMFLAGS_LOOPBACK` and `AUDCLNT_STREAMFLAGS_EVENTCALLBACK` **can** be
|
||||
combined — the crate wires both flags together for a render-device-opened-as-capture client, and
|
||||
the capture loop waits on the WASAPI event handle (with a short timeout so it can also notice a
|
||||
stop/pause request) rather than busy-polling. The pre-implementation note below describing a
|
||||
polling-only design was inaccurate; `docs/02-architecture.md`'s "Audio thread" section has been
|
||||
corrected to match.
|
||||
|
||||
### Transcription — whisper-rs (+ ONNX for NPU) ✅
|
||||
`whisper-rs` wraps **whisper.cpp** with feature-gated acceleration: **CUDA** (NVIDIA),
|
||||
|
||||
Reference in New Issue
Block a user