Switch to using endpoint IDs for identifying selected output device in user configuration #17497
Labels
api-breaking-change
component/audio
NVDA's audio output (nvWave, issues with usb audio etc).
p2
https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority
release/blocking
this issue blocks the milestone release
triaged
Has been triaged, issue is waiting for implementation.
Milestone
Is your feature request related to a problem? Please describe.
Currently, users' selection of which audio output device to use is stored in the config by saving the device's friendly name to their config, then enumerating all output devices on the system, and matching against the first device with the same friendly name. This presents a number of issues:
Describe the solution you'd like
After winmm support is removed (#17496 ), switch to using endpoint IDs for identification. This also has a number of drawbacks:
Describe alternatives you've considered
Keep on identifying devices by their friendly names.
Additional context
This will require rewriting some of NVDAHelper, as our C++ WASAPI code assumes that what we give it to identify devices is the device's friendly name. Would also require changes to the settings GUI code, and nvwave.
The text was updated successfully, but these errors were encountered: