docs: sync README status with shipped audio + repair work

Per-app audio routing (--app), mic mixing (--mic), and --repair all
landed in recent commits but the README still listed the first and last
as stubs. Move them to Working, drop them from "Not yet working" (X11
capture is now the only remaining stub), and add an Audio section
documenting --app/--mic/--repair.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-23 15:34:24 -04:00
parent 25a5b597f7
commit 8674f907f2
+22 -4
View File
@@ -18,7 +18,9 @@ Working:
Wayland compositors with the portal should work but are untested)
- VAAPI H.264 encode in GStreamer (RDNA3 confirmed; other VAAPI-capable
GPUs should work)
- Audio capture of the default sink's monitor
- Audio capture of the default sink's monitor, with optional per-app
routing (`--app <name>`) and microphone mixing (`--mic`)
- `--repair` cleanup of orphaned PipeWire state left by a crashed host
- iroh QUIC bi-stream tunnel, direct-UDP and relay paths both verified
- Interactive Host/View menu with clipboard auto-copy and mpv/VLC picker
- Headless mode for scripts (`pixelpass <ticket>`)
@@ -29,9 +31,7 @@ Working:
viewer cap
Not yet working:
- X11 capture (stubbed, returns an error)
- Per-app audio routing (`--app <name>` is a flag stub)
- `--repair` (PipeWire orphan cleanup) is a stub
- X11 capture (stubbed, returns an error — Phase 2 follow-up)
## Quick start
@@ -183,6 +183,24 @@ measured_at = "2026-05-21T20:41:16Z"
- Skip is sticky — once you skip the test, pixelpass won't ask again
unless you reconfigure.
## Audio
By default pixelpass captures the default sink's monitor — the viewer
hears whatever the host hears. Two flags adjust this:
- `--app <name>` routes only a single application's audio. pixelpass
creates a per-PID null-sink and uses libpipewire to reroute matching
`Stream/Output/Audio` nodes (by `application.name`) into it, so the
viewer hears just that app instead of the whole desktop. In the
interactive menu you can pick the app from a list of what's currently
playing.
- `--mic` mixes the default microphone source into the stream alongside
system audio.
If a host crashes mid-session it can leave orphaned `pixelpass_capture_*`
null-sinks and their paired loopbacks loaded in PipeWire. Run
`pixelpass --repair` to unload them and exit.
## Multi-viewer
One gst capture pipeline fans out to N concurrent viewers via a