Skip to content

Disable brokering audio in the 32 bit synthDriver shim for at least 2026.2 as it is not stable enough yet.#20206

Merged
seanbudd merged 2 commits into
betafrom
disableBrokerAudio
May 25, 2026
Merged

Disable brokering audio in the 32 bit synthDriver shim for at least 2026.2 as it is not stable enough yet.#20206
seanbudd merged 2 commits into
betafrom
disableBrokerAudio

Conversation

@michaelDCurran

@michaelDCurran michaelDCurran commented May 24, 2026

Copy link
Copy Markdown
Member

Link to issue number:

Fixes #19667
Fixes #19819
Reverts #19672

Summary of the issue:

Experimental code was recently added to NVDA (after 2026.1) that caused the 32 bit synthDriver shim to send its audio back to NvDA for playing, rather than playing it directly in its own process. This was done to test / prepare for the time when add-ons would be running in an app container, and therefore probably would not have direct access to the audio device.
However, currently this code is still quite unstable, causing NVDA to freeze when rapidly changing the speech rate, or arrowing up and down in lists, when using sapi4 or 32 bit sapi5.
This instability is most likely a similar issue to what was fixed in pr #19609, where RPYC is handoing the return of a call on the wrong thread. But in this case, it is calls to/from nvwave in NVDA's process.

Description of user facing changes:

Description of developer facing changes:

Description of development approach:

Testing strategy:

Known issues with pull request:

Code Review Checklist:

  • Documentation:
    • Change log entry
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • API is compatible with existing add-ons.
  • Security precautions taken.

Copilot AI review requested due to automatic review settings May 24, 2026 23:45
@michaelDCurran michaelDCurran requested a review from a team as a code owner May 24, 2026 23:45
@michaelDCurran michaelDCurran requested a review from seanbudd May 24, 2026 23:45
@michaelDCurran michaelDCurran added this to the 2026.2 milestone May 24, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Disables the experimental “broker audio back to NVDA” pathway for the 32‑bit synthDriverHost shim to avoid instability (freezes/crashes) seen with 32‑bit SAPI4 / SAPI5 while the brokering approach matures.

Changes:

  • Forces the 32‑bit synth driver host launcher to not broker audio back into NVDA (play audio locally in the host process).

Comment thread source/_bridge/clients/synthDriverHost32/launcher.py
@wmhn1872265132

Copy link
Copy Markdown
Contributor

Do we need to restore the changes in #19672?

@michaelDCurran

Copy link
Copy Markdown
Member Author

@wmhn1872265132 yes, thanks for the reminder. I have reverted #19672 in this pr.

@seanbudd seanbudd merged commit 7b704c0 into beta May 25, 2026
36 of 39 checks passed
@seanbudd seanbudd deleted the disableBrokerAudio branch May 25, 2026 02:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants