docs: record the late-injection render-hook fix + probe tool
Update the plan's status (validated against a real already-playing game),
add the "reactive-only hooking fails on late injection" lesson and the
self-deadlock ordering sub-lesson, and document tools/audio_probe in the
README. Mirrors commit c7be4ee.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
11
README.md
11
README.md
@@ -142,6 +142,17 @@ ctest --test-dir build -C Debug --output-on-failure
|
||||
shipping process-loopback capture (the fallback path) receives its audio by
|
||||
PID. Skips cleanly if the machine has no audio endpoint.
|
||||
|
||||
### Debugging the render-hook against a real game
|
||||
|
||||
[`tools/audio_probe`](tools/audio_probe) (`coop_audio_probe.exe <pid> [seconds]`)
|
||||
brings up the audio render-hook without Steam / RPT / the host UI: it creates the
|
||||
IPC block + audio ring the hook expects, injects `coop_hook.dll` into the target
|
||||
game, then drains the ring and prints per-stream format, captured-frame counts,
|
||||
peak amplitude (proves the audio is real, not silence), and overruns. It enables
|
||||
the hook's file trace (`%TEMP%\coop_hook.log`) for the run. Run it from
|
||||
`bin/<config>/`. **Kill the game between runs** — the loaded DLL locks
|
||||
`coop_hook.dll` against the next rebuild.
|
||||
|
||||
## Running the tool (manual, end-to-end)
|
||||
|
||||
This needs Steam, a donor game that supports Remote Play Together, and a second
|
||||
|
||||
Reference in New Issue
Block a user