Closed Bug 1575026 Opened 5 years ago Closed 5 years ago

MediaEngineWebRTC.cpp fires assert MOZ_ASSERT(!preferredDeviceFound); when invoking getUserMedia

Categories

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

Unspecified
Windows 10
defect

Tracking

()

RESOLVED FIXED
mozilla71
Tracking Status
firefox71 --- fixed

People

(Reporter: bryce, Assigned: achronop)

References

Details

Attachments

(1 file)

I'm able to reliably hit the assert here. I think think is due to having a different default communication device and non-communication device set under Windows sound settings.

STR:

  • Have 2+ output devices connected to a Windows 10 machine.
  • Navigate to control panel -> hardware and sound -> sound.
  • Set the default output device and default communication output device to different devices.
  • Open https://simpl.info/mediarecorder/
  • Assert fires.

Appears that the check we're hitting is meant to ensure we never have more than one preferred device, but that it's possible to get 2 due to Windows letting us select one for 'normal' usage, and one for communication.

Alex, and idea on how we should handle multiple preferred devices?

Flags: needinfo?(achronop)

Thanks for bringing it to my attention. I will find a way to support the multiple preferred device. I am adding it to my queue.

Assignee: nobody → achronop
Flags: needinfo?(achronop)
Priority: -- → P2
See Also: → 1542739

In microphone enumeration, we avoid the assert on windows for the same reason [1]. I'll do the same for output devices.

[1] https://searchfox.org/mozilla-central/rev/428cf94f4ddfb80eebc6028023a7d89eb277791b/dom/media/webrtc/MediaEngineWebRTC.cpp#180-191

The assert verifies that there is only one preferred device. On windows it is expected to have more than one preferred device so it is removed.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: