Open TimMisiak opened 1 year ago
We were able to work around this issue with the following code, so this feels like something which should be fixed in the chime layer.
meetingSession.audioVideo.setDeviceLabelTrigger(
async () => {
var stream;
try {
stream = await navigator.mediaDevices.getUserMedia({ audio: true, video: true });
} catch { }
if (stream == null) {
stream = await navigator.mediaDevices.getUserMedia({ audio: true, video: false });
}
return stream;
}
);
What happened and what did you expect to happen?
We have some code that is starting a chime meeting session.
The line of code listing audio devices will usually be when the permission dialog asking the user if the audio/video device can be used. We found that on one machine, if the video camera is disconnected and only a headset is connected, the permission dialog is never displayed. Stepping through the code, we found where the two cases diverge. When enumerating devices in DefaultDeviceController.updateDeviceInfoCacheFromBrowser(), the device labels are not found and hasDeviceLabels is false, so the code calls deviceLabelTrigger().
In the case where a video camera is connected, this line of code will result in the permissions dialog to show up:
When no video camera is connected, this line does nothing. We found that by using
video: false
, the permissions dialog will be displayed again.Have you reviewed our existing documentation?
Reproduction steps
We're only able to get this to reproduce on one machine, which has a Poly BT600 headset. The problem reproduces on both firefox and chrome.
Amazon Chime SDK for JavaScript version
3.13.0
What browsers are you seeing the problem on?
chrome, firefox
Browser version
Chrome 114
Meeting and Attendee ID Information.
No response
Browser console logs