Files
Piik/native/window-capture-helper
AAA a560f54bcc feat(native): add WGC hardware H264 source (#109)
Adds the explicit Windows WGC/D3D11 hardware-only Media Foundation H.264 source, process-tree audio, direct Go/Pion fanout, source-aware UI/gate, and unique evaluation package helper. Browser VP8 remains the default. Local acceptance and bounded real-device evidence are recorded in the PR; GitHub jobs were billing-blocked before executing any step.
2026-08-21 05:37:29 +08:00
..

Windows Window-Capture Helper

This Windows 11 helper is the local input for Native sender window capture. It enumerates visible top-level windows locally, binds the selected HWND to its PID and process creation time, and has two explicit modes:

  • process-tree PCM for the existing browser video sources; or
  • WGC/D3D11 window video plus process-tree PCM, with adapter-bound, hardware-only Media Foundation H.264 output.

It has no whole-system audio, software encoder, alternate codec, or network fallback. Build it outside the repository, then place it beside the sender (or set SCREENER_WINDOW_CAPTURE_HELPER for a development run):

$out = Join-Path ([IO.Path]::GetTempPath()) 'screener-native-capture'
./native/window-capture-helper/build.ps1 -OutputDirectory $out

The implementation follows Microsoft's MIT-licensed reference samples and official API contracts without copying their WIL framework. The retained MF fixture compiles the same encoder source with SCREENER_H264_FIXTURE; there is not a second product MFT implementation.