Closed Bug 1602722 Opened 4 years ago Closed 3 years ago

Disconnecting and reconnecting a USB headset in a webrtc call doesn't resume mic capture

Categories

(Core :: WebRTC: Audio/Video, defect, P2)

defect

Tracking

()

RESOLVED INVALID
Tracking Status
firefox-esr68 --- unaffected
firefox71 --- wontfix
firefox72 --- wontfix
firefox73 --- wontfix
firefox74 --- wontfix
firefox75 --- wontfix
firefox76 --- wontfix
firefox77 --- fix-optional
firefox78 --- affected
firefox79 --- affected
firefox80 --- affected

People

(Reporter: bmaris, Unassigned)

References

Details

Affected versions

  • 72.0b4 Beta
  • 71.0 RC / 70.0 RC

Unaffected versions

  • 69.0 RC

Affected platforms

  • Windows 7
  • Ubuntu 18.04
  • macOS 10.13

Steps to reproduce

  1. Start a call between two people using https://appr.tc/
  2. Have the person with a USB headset disconnect it while in call
  3. Reconnect the USB headset

Expected result

  • The mic from the headset is working again after reconnecting

Actual result

  • The mic from the headset is not working anymore, the user needs to rejoin the call to solve this issue.

Regression range

  • This is a regression but since mozregression can't be used it has to be done manually and it will take some time to do so. I did tested on a few release builds and I got the this results: 69.0 RC Works fine, 70.0 RC is AFFECTED.

Additional notes

  • Headset used: Microsoft LifeChat LX-3000
Has Regression Range: --- → no
Has STR: --- → yes
Priority: -- → P2
See Also: → 1602724

Is this still reproducible with 73+?

Flags: needinfo?(bogdan.maris)

To answer yes, it reproduces with 73.0b4 as well.

Additionally, with some extra investigation we noticed that there is a scenario in which it reproduces even on older versions (as it is specific to Firefox as browser).
As per Bogdan's note, the sound microphone and sound work fine but they're no longer being picked up by the USB but the default mic of the device.

STR for this:

  1. Access https://appr.tc/ with two people
  2. Plug in the USB for one of them and choose the USB device for the microphone;
  3. Click on the [Remember this decision];
  4. Remove the USB;
  5. Insert the USB back;
  6. Refresh the page;
Flags: needinfo?(bogdan.maris)

Removing the regression keywords, as per the previous comment.

Has Regression Range: no → ---

I have managed to reproduce the issue on 73.0, 74.0b2 and 75.0a1(2020-02-12) using this website https://mozilla.github.io/webrtc-landing/gum_test.html. As soon as you disconnect and reconnect the USB headset the mic from the headset doesn't work anymore. Should we log a new issue because the website isn't a communication site?

I have managed to reproduce the isssue on 76.0, 77.0b2 and 78.0a1(2020-05-05) using this website https://www.webex.com/. on Mac Os 10.15.5
STR to reproduce:

  1. Access https://www.webex.com/ and sign in
  2. Plug in the USB for one of them and choose the USB device for the microphone;
  3. Click on the [Remember this decision];
  4. Remove the USB;
  5. Insert the USB back;
    The mic doesn't go back again only after refreshing the page.

I will update the flags accordingly.

(In reply to Negritas Sergiu from comment #5)

I have managed to reproduce the isssue on 76.0, 77.0b2 and 78.0a1(2020-05-05) using this website https://www.webex.com/. on Mac Os 10.15.5

Does this only happens on Mac OS? Can this be reproduce on other platforms?

Flags: needinfo?(snegritas)

Hello! Yes it does reproduce on Windows 10 and Ubuntu 18.04 with the steps I provided in the last comment.

Flags: needinfo?(snegritas)

Hello!
This issue reproduces also on https://jumpchat.at/ with Ubuntu 18.04 LTS with the steps provided in comment 5.

This issue still reproduces in Nightly v80.0a1 and Beta v79.0b2.
This issue occurs with both TTRS headsets and USB ones.
And ALSO OCCURS on Chrome, so it might be a website issue.

This issue reproduces also on https://videolink2me.com/start and https://zoom.us/ on Ubuntu 18.04 x64, using Firefox 80 Beta 1, with the steps provided in comment 5 (the mic doesn't go back again only after refreshing the page).
I tested with USB headset.

This issue reproduces also on https://freeconferencing.vonage.com/ on Mac 10.15 and Win 10, using Firefox Release 84 an Firefox Nightly 86.0a1 with the steps provided in comment 5 (the mic doesn't go back again only after refreshing the page).

(In reply to Negritas Sergiu from comment #5)

I have managed to reproduce the isssue on 76.0, 77.0b2 and 78.0a1(2020-05-05) using this website https://www.webex.com/. on Mac Os 10.15.5
STR to reproduce:

  1. Access https://www.webex.com/ and sign in
  2. Plug in the USB for one of them and choose the USB device for the microphone;
  3. Click on the [Remember this decision];
  4. Remove the USB;
  5. Insert the USB back;
    The mic doesn't go back again only after refreshing the page.

I will update the flags accordingly.

:jib, isn't this expected for privacy reasons? The consent only applies to a particular device?

Flags: needinfo?(jib)

(In reply to Bodea Daniel [:danibodea] from comment #9)

And ALSO OCCURS on Chrome, so it might be a website issue.

Yes, it is up to the website to determine what should happen in this case. The track of a disconnected microphone ends, which is a permanent state in the spec.

Resumption of capture on reinsertion is not automatic in browsers, and requires an act by the web site instead, e.g. by listening to the devicechange event and calling getUserMedia again.

Here's a headset detection example (try connecting and disconnecting a headset with it).

Status: NEW → RESOLVED
Closed: 3 years ago
Flags: needinfo?(jib)
Resolution: --- → INVALID
Summary: Disconnecting and reconnecting a USB headset in a webrtc call blocks its mic → Disconnecting and reconnecting a USB headset in a webrtc call doesn't resume mic capture
You need to log in before you can comment on or make changes to this bug.