[mediacapture-output] Undesirable prompt from selectAudioOutput({deviceId}) if valid device removed (#137)

jan-ivar has just created a new issue for https://github.com/w3c/mediacapture-output:

== Undesirable prompt from selectAudioOutput({deviceId}) if valid device removed ==
Use case: A website has two buttons: PLAY and SELECT SPEAKERS. If the latter is used, the site persists the resulting deviceId to localStorage. On subsequent visits, the user just hits PLAY.

Problem: if the user removes their chosen device, they get a picker prompt when they click PLAY, which is confusing since they only associate that prompt with the SELECT SPEAKERS button.

Instead, the expected behavior would be to play out over the default audio output in this case.

STRs (requires Firefox Nightly 117):
1. Using e.g. Airpods, open https://jan-ivar.github.io/dummy/speaker_output.html
2. Choose `Select Speakers: Other...` and pick "Airpods".
3. Put Airpods in their case
4. Hit `Play!`

Expected: audio over laptop speakers. Actual: the following prompt:
<img width="922" alt="image" src="https://github.com/w3c/mediacapture-output/assets/3136226/09e74605-31df-4a21-a417-6216ac106362">
I propose we consider having [selectAudioOutput](https://w3c.github.io/mediacapture-output/#mediadevices-extensions) reject in this case instead of prompt, provided the user agent recognizes the deviceId as one it used to satisfy. This should still deter trackers.

Implementing this should be possible by tracking recently removed devices.

Please view or discuss this issue at https://github.com/w3c/mediacapture-output/issues/137 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Friday, 21 July 2023 00:45:14 UTC