Skip to content

AudioBalance v2.2.22 — Sleep/wake hang fix

Choose a tag to compare

@AurusBE AurusBE released this 22 Apr 06:55

What's fixed in v2.2.22

Critical: Sleep / lid-close hang

AudioBalance no longer freezes when you close the laptop lid or wake from sleep. Previously the WASAPI audio device handles became stale during suspend, causing the next capture call to block indefinitely inside Windows COM RPC — making the app appear frozen and impossible to close normally.

What changed under the hood:

  • New WM_POWERBROADCAST handler stops the audio engine cleanly before Windows suspends, so devices are released in a known-good state.
  • On resume, AudioBalance waits 2 seconds for audiosrv to come back, then recreates the Shared Memory channel and restarts the audio engine.
  • A suspend-generation counter cancels stale resume timers if you sleep/wake rapidly (travel scenario).

"Cannot close the app" — fixed

  • Removed the synchronous taskkill call on shutdown that was blocking the GUI thread for several seconds.
  • AudioEngine::stop() no longer calls terminate() on threads holding COM state (was the actual deadlock).
  • Settings-mutex now has a 2-second timeout instead of waiting forever — a stuck peer process can no longer freeze the GUI on a button click.

Admin dashboard

  • Beta-tester refresh now actually shows new registrations (was serving stale cached responses from browser + Cloudflare Edge).
  • All admin endpoints send proper no-cache headers.
  • Beta-tester list paginates through KV (was capped at 1000 testers).

Download

AudioBalance-2.2.22-Setup.exe — 57 MB

Upgrade

Just download and run the installer over your existing v2.2.21 install. Settings, license, and beta-tester status are preserved.

🤖 Built with Claude Code