spreed icon indicating copy to clipboard operation
spreed copied to clipboard

Media settings sometimes reset to a wrong microphone

Open nickvergessen opened this issue 1 year ago • 3 comments

How to use GitHub

  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Steps to reproduce

  1. Have a webcam with a microphone and additionally a headset
  2. Join a call

Expected behaviour

Headset is used like you did the last times

Actual behaviour

Sometimes it selects the webcam mic instead and you have to repick to the headset instead.

nickvergessen avatar Jul 06 '23 09:07 nickvergessen

Snapshot of data to compare next week:

Devices (from top down) Labels IDs (after explicitly selecting airpods)
Default
USB audio = Headset with USB Audio connected via Docking station
Brio = Webcam
MacBook = obvious
14P = iPhone that could be used as external mic
MS Teams = virtual
Airpods
None
Screenshot 2023-07-20 at 15 19 19 Screenshot 2023-07-20 at 15 24 29

nickvergessen avatar Jul 20 '23 13:07 nickvergessen

As I checked the MediaDeviceManager , there is a fallback to set the default or first audio stream if the current device Id was not found. Did you see a console log 'Could not find previous audio device, falling back to default/first device in the list' ?

I couldn't reproduce it though.

DorraJaouad avatar Oct 30 '23 07:10 DorraJaouad

https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo also seems to list a "groupId" maybe we can check that and see if it is helpful.

Above are some screenshots of devices from colleagues:

C Audio Video OS Audio
Jan grafik grafik grafik
Andy grafik grafik
me Bildschirmfoto vom 2023-12-19 11-57-28 Bildschirmfoto vom 2023-12-19 11-57-36 Bildschirmfoto vom 2023-12-19 11-57-59

nickvergessen avatar Dec 19 '23 11:12 nickvergessen

This is how audio media streams are handled for now:

  • If a user selects an audio input device, it is stored in browser and will be selected for future calls.
  • If the stored device is not found ( either different browser or the device was removed from peripherals), it falls back to default device (first on the list or deviceId === default).

Even when you plug the headset again, it should reset to it because its id is still stored in browser storage unless you selected other device intentionally before plugging it and another id will be stored. So if you remove your headset and don't select any other device ( default is picked automatically) and then add your headset again, it will reset correctly.

image

DorraJaouad avatar Feb 27 '24 08:02 DorraJaouad