eyeson-team / react-web-gui-example

eyeson Web Client Example: Build a Custom Interface for eyeson Video Meeting
https://eyeson-team.github.io/react-web-gui-example/
MIT License
10 stars 12 forks source link

DeviceManager change to AirPods Pro resulting in "NotReadableError: Concurrent mic process limit" #20

Closed codingyourlife closed 3 years ago

codingyourlife commented 3 years ago

Hi folks!

We are in the process of adding a settings popup to change active cam/mic/speaker.

The documentation about this is here: https://eyeson-team.github.io/js-docs/utilities/

I have multiple issues here but let's focus on the most pressing one. I get "NotReadableError: Concurrent mic process limit" when I try to switch on my MacBook Pro 2018 from Built in speaker to AirPods.

I wasted hours on this and suspeced a coding mistake until I found out that your fullblown eyeson UI might not show an ugly message but also a warning on the top when I try to do that while call is active and it fails to switch.

Any help is very much appreciated. Ideally you could provide this in your react-web-gui-example because this is really an essential missing feature that is not well documented.

Tried with current Firefox and Chrome. Error alert box is from FF.

Maybe this helps: https://stackoverflow.com/questions/59068146/navigator-mediadevices-getusermedia-api-thrwoing-error-notreadableerror-concur

Screenshot 2020-12-28 at 23 50 54 Screenshot 2020-12-29 at 00 02 15
unused commented 3 years ago

Thank you for the great feedback and many details on this problem, we'll have to take a closer look on this issue and hopefully come up with a solution soon.

opusonline commented 3 years ago

Hello, thanks for your feedback, very much appreciated! It looks like this is not just related to Bluetooth speakers or AirPods, but more general it's a bug in Firefox that prevents from changing the microphone when a preview is used besides the actual audio/video connection. In order to change the devices you need to use DeviceManager.setVideoInput or DeviceManager.setAudioInput which provides a second MediaStream for a preview which results in the mentioned error in Firefox. See https://bugzilla.mozilla.org/show_bug.cgi?id=1675538 We are investigating in that issue and we'll let you know as soon as we have found any possible solution or Firefox has fixed this bug. Do I understand correctly and it works for you in Chrome, but not in Firefox? Best regards!