83ee53290e
The Windows virtual mic worked only with manual Sound-settings fiddling: on a headless host (no real audio output) BOTH the desktop-audio loopback and the virtual mic must run on virtual cables, and on DIFFERENT ones or the loopback re-captures the injected mic (echo). The Steam pair gives only one usable cable (Steam Streaming Speakers loopback is silent — validated), so the mic + loopback collided and echoed, and when the default playback happened to be the mic device the anti-echo guard reported the mic "unavailable". Host now auto-wires the devices at startup (audio/windows/audio_control.rs, ensure_wired_once, hooked from open_audio_capture/open_virtual_mic): default playback = a loopback-capable render that is NOT a cable and NOT the dead Steam Speakers (real output > Steam Streaming Microphone); default recording = the mic capture (VB-Cable "CABLE Output" preferred). Uses a hand-rolled IPolicyConfig vtable (the only way to set a default endpoint; not in windows/wasapi crates). Opt out with PUNKTFUNK_KEEP_DEFAULT. wasapi_mic candidates now prefer "cable input". Validated live: from a deliberately-wrong start (playback=CABLE Input) the host corrected both default endpoints at the OS level. A Windows audio endpoint can only be created by a kernel-mode driver (no UMDF path — ACX is KMDF-only), so we cannot self-sign our own like the UMDF gamepad/ display drivers. Instead the installer bundles + silently installs the official base VB-CABLE (VB-Audio donationware, vendor-signed → loads with no test-signing, redistributed under VB-Audio's bundling grant): install-vbcable.ps1 (seed the VB-Audio cert into TrustedPublisher, run -i -h) + an installaudiocable task, gated on -VbCableDir/$env:VBCABLE_DIR (the package binary is not in the repo). Attribution in packaging/windows/licenses/VB-CABLE-NOTICE.txt. .iss compiles with the path enabled. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
27 lines
1.2 KiB
Plaintext
27 lines
1.2 KiB
Plaintext
VB-CABLE Virtual Audio Device — Attribution
|
|
===========================================
|
|
|
|
The punktfunk host installer bundles and silently installs VB-CABLE, the virtual
|
|
audio cable used as the streaming virtual microphone (the client's mic is written
|
|
into VB-CABLE's input, and its "CABLE Output" capture endpoint surfaces as a host
|
|
microphone that games and apps record from).
|
|
|
|
VB-CABLE is a product of VB-Audio Software.
|
|
Origin: https://vb-cable.com (https://vb-audio.com)
|
|
VB-CABLE is DONATIONWARE — all participations are welcome.
|
|
Please consider donating to VB-Audio if you find it useful:
|
|
https://vb-audio.com/Cable/
|
|
|
|
VB-CABLE is redistributed here, unmodified (the official base VB-CABLE package),
|
|
under VB-Audio's distribution grant for bundling the base cable with another
|
|
application; see VB-Audio's licensing terms:
|
|
https://vb-audio.com/Services/licensing.htm
|
|
|
|
Only the single base VB-CABLE is bundled. VB-CABLE A+B and C+D are not
|
|
redistributed. VB-Audio retains all rights to VB-CABLE; punktfunk claims no
|
|
ownership of it.
|
|
|
|
To remove VB-CABLE, use its own uninstaller (VBCABLE_Setup_x64.exe -u -h) or the
|
|
"VB-Audio Virtual Cable" entry in Windows "Apps & features"; uninstalling the
|
|
punktfunk host does not remove VB-CABLE.
|