Open Bug 1729166 Opened 3 years ago Updated 3 years ago

Expose cutdown audiooutput device without permission prompt

Categories

(Core :: WebRTC: Audio/Video, enhancement)

Firefox 93
enhancement

Tracking

()

UNCONFIRMED

People

(Reporter: lwarlow, Unassigned)

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.0.0 Safari/537.36

Steps to reproduce:

  1. Enable the set sink id flag (media.setsinkid.enabled)
  2. Run await navigator.mediaDevices.enumerateDevices() in devtools

Actual results:

No devices with kind "audiooutput" showed in the result. They only show after you call await navigator.mediaDevices.selectAudioOutput(), grant permission to use other speakers, and rerun enumerateDevices().

Expected results:

I am requesting that a cut down version of the audiooutput device results can be shown without a permission prompt. I believe they require the prompt for fingerprinting reasons which I completely understand.

However, it would be useful to return 1 (regardless of actual number, or zero if no devices) audiooutput result with a blank label, without requiring this permission prompt. I believe this should address most fingerprinting concerns?

My use case is for quality of service checks ensuring I don't provide access to certain features if the user doesn't have an attached audio output device. This is currently not possible at all in Firefox and soon to be not possible without irrelevant (for this use case) permission prompts.

Attached image image (5).png

I've attached a screenshot of what Chrome returns for enumerateDevices(). We are able to use this to identify that there's an audio output but deviceId and label are both blank (and for my use case groupId could be too), which for device detection is fine. Besides a 1 bit flag (do they have a speaker or not) this eliminates all fingerprinting vectors (as far as I understand).

The Bugbug bot thinks this bug should belong to the 'Core::WebRTC: Audio/Video' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.

Component: Untriaged → WebRTC: Audio/Video
Product: Firefox → Core
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: