Audio input device isn't re-chosen automatically if active device is disconnected
Reported by
akv...@gmail.com,
May 10 2016
|
||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0 Example URL: Steps to reproduce the problem: 1. Plug in USB headset. 2. Make sure it's selected as default input device in Windows 3. Open https://apprtc.appspot.com/ 4. Grant access to micriphone and make sure "Default" input device is selected 5. Establish WebRTC call. Both participants should hear each other 6. Disconnect USB headset. What is the expected behavior? What went wrong? Playback will switch to another device, while input will not. Even after reconnecting USB headset again, it will not work. Did this work before? No Is it a problem with Flash or HTML5? HTML5 Does this work in other browsers? N/A Chrome version: 52.0.2730.0 canary (64-bit) Channel: canary OS Version: 8.1 Flash Version: Shockwave Flash 21.0 r0
,
May 11 2016
Able to reproduce the issue on Windows 10 using chrome latest canary M52-52.0.2730.0 by following steps mentioned in the comment #0. Observed while disconnecting the USB headset from the device it's not getting switched back to the default microphone. Tested this issue on previous version of chrome M36-36.0.1972.0 and M40-40.0.2172.0. In M36 unable to hear any audio output even after connecting the USB headset in to the device. In M40 observed the same behavior as seen in M52. So considering this is a non-regression issue and marking it as untriaged. Thanks!
,
May 11 2016
,
May 13 2016
I think the correct way to handle this involves calling getUserMedia again while the call is still active. But as far as I know, apprtc doesn't include any logic to detect when an input device is disconnected, or to call getUserMedia again during a call, though patches are welcome[1]. :) Though it's not an open source example, Hangouts seems to sort of do this. If you disconnect the current input device, then click the Hangout settings, you can tell Hangouts to use one of the other still connected devices to continue in the call, without needing to exit the call. I'm therefore going to close this bug, but I'm open to reopening it if anyone has a code sample that shows how this isn't working. [1] https://github.com/webrtc/apprtc
,
May 16 2016
Once the device change event and replaceTrack lands in stable I will look into adding device selection in AppRTC. In the meanwhile, the workaround as Ted stated in #4 is the way to go. |
||||
►
Sign in to add a comment |
||||
Comment 1 by manoranj...@chromium.org
, May 10 2016