Open canny[bot] opened 3 months ago
This issue has been linked to a Canny post: [WebRTC] Voice input/output not working as expected :tada:
As mentioned in Canny, I can reproduce this on my Windows 10 machine, for both input and output device - it seems like the viewer always uses the same input or output device when set to "Default", even when the actual Windows-default device (I tried changing both "Default Device" and "Default Communication Device") is something else.
Windows and Mac treat default devices differently, even when used through webrtc which is supposed to abstract things like this. Mac assumes the first device in the device list (index 0) is the default device. Windows provides a separate call to set the default device. So, a little special-casing was used to resolved this issue.
I tested the fix on build 7.1.4.8593664208 (64bit) on Win10, using the same audio setup that I originally reproduced this bug with.
Passes QA
On my system I have speakers built into the monitor plus I use a headset with a mic.
Before I login to SL, I change the Windows sound settings to change my sound output from the monitor speakers (GM-34-CWQ) to the headset (Speakers) - see gif - https://gyazo.com/87d5b18817e636cf007faf55077f84fc
On the default LL release viewer and Firestorm Viewer, before logging into SL, once I have changed the sound output to "Speakers", ie to put output sound through my headset instead of the monitor speakers, when I am logged into SL, both inworld sounds and voice come through my headset as expected.
Bug
However, on the WebRTC Viewer, when I have my Windows sound settings output set to "Speakers" (my headset), the voice sounds still come from my monitor speakers.
It is expected that the voice sound comes through my headset.
In the viewer Preferences -> Sound & Media -> Voice Input /Output Devices, on the default LL release, I do not have to change the "Output" setting from "Default" to hear voice through my headset.
However on the WebRTC Viewer, when the "Output" setting is set to Default, the voice output comes through my monitor speakers. I have to change the "Output" setting to "Speakers" to hear voice through my headset.
Image: https://prnt.sc/D7ovZGhY-qah
So it appears that the WebRTC Viewer does not respect the default Windows output setting for voice, but the default LL viewer does.
https://secondlife.canny.io/admin/board/webrtc-voice/p/webrtc-voice-input-output-not-working-as-expected