notes: point the container page at the working audio-capture route
The entry already warned that run-canary is silent twice over, but stopped there -- and fixing only the mutes still yields an unfaithful capture, because a PulseAudio null sink s monitor is wall-clocked and invents silence when the client is late. Adds the pointer to the ALSA file-tee page, with the two things a reader needs before starting: the slave must pace or the tee free-runs at about 250x real time, and a size guard is not optional. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QsEPXWVaEpyfudtR6re1Pd
This commit is contained in:
@@ -76,6 +76,17 @@ python3 tools/re-capture/gmem.py find hex:820af844 400
|
||||
and will silently resample a 6-channel monitor:
|
||||
`parec -d cap.monitor --channels=6 --rate=48000 --format=s16le`.
|
||||
|
||||
🔴 **And even with both mutes off, a PulseAudio-monitor capture is not
|
||||
faithful — use the ALSA tee instead.** A null sink's *monitor* is sampled on a
|
||||
wall clock and **invents silence** whenever the client is late, so a capture
|
||||
through it is 39 % holes that the game never emitted. `PULSE_LATENCY_MSEC`
|
||||
only trades gap count against gap size and never wins.
|
||||
✅ **The working route is `--apu=alsa` with an ALSA `file` tee in front of a
|
||||
paced slave** — full recipe, controls and three configuration traps in
|
||||
[`audio-capture-alsa-file-tee.md`](../re/audio-capture-alsa-file-tee.md).
|
||||
⚠️ A *bare* file tee free-runs at ~250× real time and wrote **7.3 GB in 50 s**;
|
||||
the slave must pace. Always run with a size guard.
|
||||
|
||||
⚠️ **Do not read Canary's 6-channel PulseAudio stream as evidence the GAME is
|
||||
5.1.** `pactl` will show `float32le 6ch 48000Hz`, channel-mapped to a full 5.1
|
||||
layout, on any title. That is `AudioDriver::kFrameChannelsDefault = 6`, a
|
||||
|
||||
Reference in New Issue
Block a user