-
released this
2026-05-06 12:12:21 -07:00 | 21 commits to main since this releaseDiagnostic + responsiveness update for the slow-Reconnect report.
The upstream relay has no cooldown on rapid publisher reconnect (verified against the server source), and a local stop-and-respawn cycle finishes in ~230 ms. So the 30 s being observed is something specific to your network/setup that needs more data than I can see locally.
What this build does
- `Reconnect audio` no longer freezes NVDA's UI. The stop+start cycle now runs on a background thread, so NVDA speaks "Reconnecting" immediately and stays responsive while the helper is exiting and restarting.
- Helper status lines are now mirrored into NVDA's log at INFO level. Every phase the helper reports — `Connected`, `Capture started`, `Listening for remote audio`, `Stopped`, error events, etc. — gets a timestamped entry in `%APPDATA%\nvda\nvda.log`.
- Reconnect itself logs how long the stop+start took in wall-clock seconds.
Action
After installing on both machines and reproducing the slow Reconnect, grab the chunk of `%APPDATA%\nvda\nvda.log` covering the click. Lines containing `remoteAudio` show exactly which phase is eating the time, which is what I need to land a real fix.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
released this
2026-05-06 12:03:48 -07:00 | 21 commits to main since this releaseFixes "audio dies on the publisher when I click Reconnect" reported in v0.1.9.
What was wrong
`Reconnect audio` killed the helper with `TerminateProcess` on Windows. The publisher held WASAPI process-loopback handles which were never released, the TCP/UDP session never closed cleanly, and the next helper could not reacquire the device reliably.
Fix
- Helper now watches its own stdin in a background task. When NVDA closes the pipe (or writes any byte) the cancellation token fires and the session's
IAsyncDisposable.DisposeAsyncruns —IAudioCaptureClient/IAudioClientCOM objects are released, TCP/UDP sockets close cleanly. Exits with statusStopped.. - Add-on spawns the helper with
stdin=PIPE, andstop()now closes stdin first and waits up to 2 s for graceful exit.TerminateProcessis only used as a last resort if the helper is hung.
Verified locally that subscriber and publisher both shut down cleanly in well under a second, and that a stop-immediately-respawn cycle on the publisher reacquires WASAPI cleanly.
Install
Download `remoteAudioClient-0.1.10.nvda-addon` below and open it in NVDA on both machines. Settings carry over.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Helper now watches its own stdin in a background task. When NVDA closes the pipe (or writes any byte) the cancellation token fires and the session's
-
released this
2026-05-06 11:56:07 -07:00 | 23 commits to main since this releaseFixes a bug where the receiver showed as connected but never played audio after the sender came online, until the add-on was manually reloaded.
What was happening
The receiver registered fine, but UDP heartbeats to the relay can be silently dropped by NAT/path issues without raising any error in the helper. After 15 s of dropped heartbeats the server timed out the receiver's UDP session, so when the sender's packets arrived the server had nowhere to forward them. The receiver's helper kept listening on a session the server had already forgotten.
Helper changes
- TCP and UDP heartbeat loops now catch send errors. On failure, the session tears down cleanly and the add-on's existing auto-retry kicks in (about 5 s).
- The UDP heartbeat now also re-sends a UDP
registerpacket about every 15 s, so the relay refreshes the receiver's session even if individual heartbeats are lost. - UDP heartbeat interval capped at 3 s (was 5 s) so path flaps are detected sooner.
Add-on change
- New Reconnect audio entry in
Tools > NVDA Remote Audio. Stops and restarts the helper using the current role. Recovers from a stuck session in one click without reloading plugins.
Install
Download `remoteAudioClient-0.1.9.nvda-addon` below and open it in NVDA on both machines. Settings carry over.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
released this
2026-05-06 11:40:55 -07:00 | 24 commits to main since this releaseThe Receive remote audio and Send this computer's audio menu items are now check-items, so NVDA tells you which one is active when you open the menu.
Behavior
- Clicking the unchecked item starts that role.
- Clicking the checked item disconnects.
- Clicking the other item while one is active switches roles (the helper restarts in the new role).
- Auto-start, auto-retry on disconnect, and unexpected helper exits all keep the check marks in sync.
Install
Download `remoteAudioClient-0.1.8.nvda-addon` below and open it in NVDA. Settings carry over.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
released this
2026-05-06 11:34:53 -07:00 | 25 commits to main since this releaseThe add-on can now install NVDARemoteAudioServer and the Windows Firewall rules itself. No manual download or netsh.
New Tools-menu items
- Install audio server (this machine sends audio)... — downloads the latest NVDARemoteAudioServer Windows ZIP from GitHub, extracts to
C:\NVDARemoteAudioServer\(or%LOCALAPPDATA%\NVDARemoteAudioServer\if the first is not writable), registers a per-user logon scheduled task, starts the server, and prompts for UAC to add Windows Firewall inbound TCP+UDP allow rules on port 6838. - Add firewall rules for audio server... — re-runs only the firewall step (separate UAC prompt). Use this if you declined UAC during install.
Behaviour change
Picking Send this computer's audio on a machine without the server installed now offers the install dialog instead of failing silently.
Notes
- No admin needed for the download/extract/scheduled-task part.
- Firewall rules require admin (UAC). Decline UAC and the rest still installs; you can retry firewall rules from the menu.
- The .NET runtime is not a dependency of this add-on — the helper EXE is published self-contained.
Install
Download
remoteAudioClient-0.1.7.nvda-addonbelow and open it in NVDA on both machines. Settings carry over.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Install audio server (this machine sends audio)... — downloads the latest NVDARemoteAudioServer Windows ZIP from GitHub, extracts to
-
v0.1.6 — security hardening Stable
released this
2026-05-06 11:20:58 -07:00 | 25 commits to main since this releaseSecurity fixes against a hostile or buggy audio server. No protocol or behavioural changes for honest servers.
Changes
- Cap server-supplied
udp_audio_payload_max_bytesto [64, 1500] bytes so a malicious server cannot inflate every per-packet allocation. - Floor server-supplied
tcp_heartbeat_interval_msat 500 ms so a zero/one value cannot spin the heartbeat loop tight. - Replace the unbounded
StreamReader.ReadLineAsyncon the TCP handshake with a bounded byte-level reader (cap 64 KB). A server that streams data without a newline can no longer exhaust client memory.
Install / upgrade
Download `remoteAudioClient-0.1.6.nvda-addon` below and open it in NVDA on both machines. Settings carry over.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Cap server-supplied
-
v0.1.5 — initial release Stable
released this
2026-05-06 11:13:33 -07:00 | 26 commits to main since this releaseFirst public release of the NVDA Remote Audio Client.
Install
- Install NVDARemoteAudioServer on whichever machine should send audio.
- Download `remoteAudioClient-0.1.5.nvda-addon` below and open it on both machines.
- In NVDA, open Preferences > Settings > NVDA Remote Audio on both machines and set the same Host, Port (6838), and Key. The key is required — there is no default.
- Restart NVDA.
What it does
- Streams system audio (music, games, browser, Discord, etc.) between two Windows machines.
- Excludes NVDA's process tree from WASAPI loopback capture, so NVDA speech stays on NVDA Remote and is not double-sent.
- Opus 48 kHz stereo at 15 ms packets with packet-loss concealment.
- Latency profiles: LAN (60/60/300 ms), Tailscale (90/80/450 ms), Internet (150/120/800 ms). Auto-picked from the host you set.
Requires
- Windows 10 build 20348+ (process-loopback exclusion API).
- NVDA 2025.1+.
Security
Audio is sent unencrypted over UDP. Run this over LAN, VPN, or Tailscale only.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
mirror of
https://github.com/serrebidev/NVDARemoteAudioClient.git
synced 2026-08-13 07:50:18 -07:00