New issue
Advanced search Search tips

Issue 609048 link

Starred by 4 users

Issue metadata

Status: Duplicate
Merged: issue 604523
Owner: ----
Closed: May 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

Chrome selects wrong audio output device during WebRTC call

Reported by eduonsol...@gmail.com, May 4 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36

Example URL:

Steps to reproduce the problem:
1. Have two computers with Chrome 50 at (at least) one side
2. Establish a WebRTC call
3. The transmission works perfectly, packets are going through (according to the WebRTC stats)
4. One party hears the other, the other does not

What is the expected behavior?
Both parties should hear each other

What went wrong?
It seems that Chrome chooses wrong output audio device for the WebRTC call (as I get that, I cannot control this at all). Please see the attached screenshots. 

Screenshot 1: Both "Realtek Digital Output" and "Rear Digital Output(Optical)" are enabled, the latter is set as default. Even here you can see that the sound is being played on the wrong device. 

Screenshot 2: Volume mixer for "Realtek Digital Output" device lists Chrome as active, even when the device is not default in Windows. The sound is being played on this device.

Screenshot 3: I have disabled the "Realtek Digital Output" device and reset the WebRTC call, now the sound is played on the correct device.

Screenshot 4: Volume mixer for "Rear Digital Output(Optical)" now lists Chrome and the sound is played without any issue.

In both cases, the non-WebRTC sounds (e.g. a ringtone on the page, youtube video) in Chrome are played on the correct device (the default one), the problem is solely connected to a WebRTC call.

Other symptoms: It happens only on the side where Chrome 50 is installed. It seems to be a bit random, I can see no exact pattern. The Windows PC on which this happened has Windows 8.1 installed. I did not see it happening on Windows 10 PCs (might be just luck). It also happened on a Mac OS X 10.11.3. I cannot do a large scale test to figure out more, sorry.

Did this work before? Yes Both Chrome versions 49 or lower

Is it a problem with Flash or HTML5? HTML5

Does this work in other browsers? N/A 

Chrome version: 50.0.2661.94  Channel: stable
OS Version: 6.3
Flash Version: Shockwave Flash 21.0 r0

It seems to pick up the wrong device randomly (you can see from the screenshots that I have even more audio devices installed, it never chose any of them). On a computer without multiple devices, this problem will not happen. This started happening after v50 was introduced, never happened before.
 
screenshot_1.jpg
56.4 KB View Download
screenshot_2.jpg
38.0 KB View Download
screenshot_3.jpg
56.4 KB View Download
screenshot_4.jpg
42.9 KB View Download
Now did another test with Chrome 50 on both sides, both sides having multiple devices. On both sides, the problem described above happened. One side had headphones connected to both devices, all the system sounds went to the default device (first headphones), only the sound from the WebRTC call actually got to the other and could be heard in the second headphones. Immediately after disabling the second device and resetting the call, the sound started coming from the first headphones. This is really serious!
Confirmed to also happen on Windows 10, all the other conditions were the same. Guys, quick reaction is really appreciated, in the meantime we just have to tell our customers to disable all the other audio output devices, which is in the long run unacceptable (our customers are not IT experts)!

Comment 3 by lepin...@gmail.com, May 4 2016

I can confirm that this is happening on OS X in Chrome 51, as well as on Chrome 50 – here's a UA string where we've seen it happen: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.29 Safari/537.36

It seems like Chrome is no longer respecting the system default audio output device. In our experience some USB microphones present themselves to the OS as an output device and (for some users, inexplicably) Chrome always elects to route audio from a WebRTC session out of this device, regardless of what is selected as the system default.
Exactly, USB microphones can cause a lot of trouble. We want our users to have them for better sound quality and now they end up with no sound at all. Maybe (I cannot confirm this) there can be a connection between the input device used and the deliberately selected output device? I.e. if you choose the USB mic as an input device, then it gets selected as the output one as well?

Comment 5 by lepin...@gmail.com, May 4 2016

I believe that's what we've seen. I know that in some cases Chrome will enumerate audioinput and audiooutput devices with the same ID, and I'm wondering whether this is related. We're gathering more info on this and update when we know more.
Certainly it would suit my observations as well. Hope someone from Google will get to this and could clarify it more.
Components: -Internals>Media Blink>WebRTC>Audio
Guys, really, someone should quickly look into this... I have just spent 20 minutes with our customer explaining how to disable devices in Windows, just because she used an external microphone, which made Chrome output the sound on its sound card! I really don't get why did you do change like this without informing anyone. Not everyone uses WebRTC for just a quick chat with a friend!!!
Mergedinto: 604523
Status: Duplicate (was: Unconfirmed)
I believe this is a dupe of  bug 604523 . A fix has been merged into Chrome 51, which is currently in the beta channel, but I don't think the fix is in the current beta channel build. As for Chrome 50, we're waiting for merge approval.
Thanks, I was not able to find it... Great to know it is being fixed. This was a bit of a nightmare.

Sign in to add a comment