From 1b659c2f246cae4165d7822decfc10aada57ceb3 Mon Sep 17 00:00:00 2001
From: Mike Taylor Attributes
output is being delivered, or the empty string if output is
delivered through the user-agent default device. If nonempty, this
ID should be equal to the {{MediaDeviceInfo/deviceId}}
- attribute of one of the {{MediaDeviceInfo}} values returned from
+ attribute of one of the {{MediaDeviceInfo}} values returned from
{{MediaDevices/enumerateDevices()}}.
On getting, the attribute MUST return the value of the {{HTMLMediaElement/[[SinkId]]}} slot.
@@ -256,8 +256,8 @@Run the following steps in parallel:
Let descriptor be a {{PermissionDescriptor}} named - {{PermissionName/"speaker-selection"}}.
+Let descriptor be a {{PermissionDescriptor}} with its + [=powerful feature/name=] set to "speaker-selection"
If descriptor's [=permission state=] is @@ -432,6 +432,75 @@
The Audio Output Devices API is a [=powerful feature=] that is + identified by the [=powerful feature/name=] "speaker-selection".
+It defines the following types and algorithms:
++ A permission covers access to the device given in the associated + {{DevicePermissionDescriptor}} descriptor. +
++ If the descriptor does not have a {{DevicePermissionDescriptor/deviceId}}, its + semantic is that it queries for access to all devices of that class. Thus, if a query + for the "speaker-selection" [=powerful feature=] with no + {{DevicePermissionDescriptor/deviceId}} returns {{PermissionState/"granted"}}, the + client knows that there will never be a permission prompt for an audio output device, + and if {{PermissionState/"denied"}} is returned, it knows that no getUserMedia request + for an audio output device will succeed. +
++ If a permission state is present for access to some, but not all, audio output devices, + a query without the {{DevicePermissionDescriptor/deviceId}} will return + {{PermissionState/"prompt"}}. +
++ Note that a "granted" permission is no guarantee that getUserMedia will succeed. It + only guarantees that the user will not be prompted for permission. There are many + other things that can cause getUserMedia to fail. +
+|status|.state
to |permissionDesc|'s permission state
+ and terminate these steps.
+ |status|.state
to global's permission state.
+ undefined
is passed in place of {{DevicePermissionDescriptor/deviceId}}.
+ This specification defines one
From dc353041e4b7ed4f49d4f91a011eae8523878769 Mon Sep 17 00:00:00 2001
From: Mike Taylor Permissions Integration
for the "speaker-selection" [=powerful feature=] with no
{{DevicePermissionDescriptor/deviceId}} returns {{PermissionState/"granted"}}, the
client knows that there will never be a permission prompt for an audio output device,
- and if {{PermissionState/"denied"}} is returned, it knows that no getUserMedia request
+ and if {{PermissionState/"denied"}} is returned, it knows that no selectAudioOutput request
for an audio output device will succeed.
From 932592cf3d8580d7609683d445ad0e246cf94c8b Mon Sep 17 00:00:00 2001
From: Jan-Ivar Bruaroey Permissions Integration
a query without the {{DevicePermissionDescriptor/deviceId}} will return
{{PermissionState/"prompt"}}.
- Note that a "granted" permission is no guarantee that getUserMedia will succeed. It - only guarantees that the user will not be prompted for permission. There are many - other things that can cause getUserMedia to fail. -