Add support for speaker selection
https://bugs.webkit.org/show_bug.cgi?id=216641
Summary Add support for speaker selection
youenn fablet
Reported 2020-09-17 02:51:10 PDT
Add support for speaker selection
Attachments
WIP (67.94 KB, patch)
2020-09-17 03:10 PDT, youenn fablet
no flags
WIP (68.40 KB, patch)
2020-09-17 04:44 PDT, youenn fablet
ews-feeder: commit-queue-
WIP (74.38 KB, patch)
2020-09-17 05:07 PDT, youenn fablet
ews-feeder: commit-queue-
WIP (75.77 KB, patch)
2020-09-17 05:34 PDT, youenn fablet
ews-feeder: commit-queue-
WIP (75.92 KB, patch)
2020-09-17 06:16 PDT, youenn fablet
ews-feeder: commit-queue-
WIP (75.89 KB, patch)
2020-09-17 06:37 PDT, youenn fablet
ews-feeder: commit-queue-
WIP (75.92 KB, patch)
2020-09-17 06:47 PDT, youenn fablet
ews-feeder: commit-queue-
youenn fablet
Comment 1 2020-09-17 03:10:55 PDT
youenn fablet
Comment 2 2020-09-17 04:44:08 PDT
youenn fablet
Comment 3 2020-09-17 05:07:51 PDT
youenn fablet
Comment 4 2020-09-17 05:34:36 PDT
youenn fablet
Comment 5 2020-09-17 06:16:03 PDT
youenn fablet
Comment 6 2020-09-17 06:37:05 PDT
youenn fablet
Comment 7 2020-09-17 06:47:42 PDT
youenn fablet
Comment 8 2020-09-18 05:19:25 PDT
*** Bug 179415 has been marked as a duplicate of this bug. ***
Eric Carlson
Comment 9 2020-09-18 10:47:59 PDT
Comment on attachment 409030 [details] WIP View in context: https://bugs.webkit.org/attachment.cgi?id=409030&action=review > Source/WebCore/ChangeLog:8 > + https://bugs.webkit.org/show_bug.cgi?id=216641 > + > + Reviewed by NOBODY (OOPS!). > + > + MediaDevices now receive non hashed device IDs. I think it would be a good idea to point to the spec here. > Source/WebCore/ChangeLog:9 > + We hash them before exposing them and keep a mapping in WebProcess between hashed audoi output device Ids and the persistent Ids. s/audoi/audio/ > Source/WebCore/ChangeLog:21 > + All these methods can be used based on user gesture. This is unclear, it makes it sound like they are optionally gated on a user gesture. > Source/WebCore/Modules/mediastream/MediaDevices.cpp:227 > + auto groupId = RealtimeMediaSourceCenter::singleton().hashStringWithSalt(newDevice.groupId(), m_groupIdHashSalt); All of the capture classes should now set supportedConstraints.setSupportsGroupId(true) so MediaTrackSupportedConstraints.groupId returns `true` > Source/WebCore/Modules/mediastream/MediaDevices.cpp:356 > + document->topDocument().setDefaultAudioOutputDeviceId(WTFMove(persistentId)); > + m_audioOutputDeviceId = WTFMove(deviceId); It might be better to swap the order of these lines in case a side effect of calling setDefaultAudioOutputDeviceId checks audioOutputDevice()
Radar WebKit Bug Importer
Comment 10 2020-09-24 02:52:16 PDT
Jovan Chohan
Comment 11 2021-08-27 11:35:21 PDT
Is there any timeline for this feature support?
David P
Comment 12 2022-07-10 17:15:10 PDT
Support for setSinkId is listed for Safari Tech Preview release 148 at https://developer.apple.com/safari/technology-preview/release-notes/ and it seems the current release is 136 https://webkit.org/blog/category/safari-technology-preview/page/2/ So should this issue have a status other than New?
Olivier Anguenot
Comment 13 2023-03-01 12:13:31 PST
Hi, any news about this feature ? Thanks i advance
Karl Dubost
Comment 14 2023-03-19 17:36:18 PDT
https://wpt.fyi/results/audio-output/idlharness.https.window.html https://wpt.live/audio-output/idlharness.https.window.html Activating on STP Allow speaker device selection in Experimental features makes 3 more tests green. The 3 remaining are * MediaDevices interface: operation selectAudioOutput(optional AudioOutputOptions) * MediaDevices interface: navigator.mediaDevices must inherit property "selectAudioOutput(optional AudioOutputOptions)" with the proper type * MediaDevices interface: calling selectAudioOutput(optional AudioOutputOptions) on navigator.mediaDevices with too few arguments must throw TypeError
Karl Dubost
Comment 15 2023-03-19 17:38:54 PDT
Michael Hagar
Comment 16 2024-01-24 07:33:07 PST
Any update on this?
Note You need to log in before you can comment on or make changes to this bug.