From 5affa8608f90a35686b027b06a4d049b5ce09943 Mon Sep 17 00:00:00 2001 From: "mark a. foltz" Date: Wed, 14 Oct 2020 11:27:50 -0700 Subject: [PATCH 1/4] Allow remote playback device to choose the remote playback source. --- index.html | 49 ++++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/index.html b/index.html index 4923fec..77a271c 100644 --- a/index.html +++ b/index.html @@ -571,24 +571,27 @@
availability sources set.

- The media resource - of a media element, that is used to - initiate remote playback on the selected remote - playback device is called remote playback source. - Remote playback source MUST belong to availability sources + The media resource of + a media element that is used to initiate remote + playback on the selected remote playback device is + called the remote playback source. A remote playback + source MUST belong to the media element's availability sources set.

- The mechanism of picking the availability sources set and - the remote playback source is implementation-specific. For - example, the user agent MUST either use the - {{HTMLMediaElement/currentSrc}} of the media element - for both availability monitoring and remote playback or use all the - media resources - associated with the media element as the - availability sources set and pick one of the resources as - the remote playback source after user selects the - remote playback device. + The mechanism to choose the remote playback source from + the availability sources set is implementation-specific, + but the user agent SHOULD consider every resource in + the availability sources set as a potential remote + playback source. +

+

+ The user agent may send metadata about all resources in + the availability sources set to the remote playback + device so it can run its own + resource + selection algorithm and choose the remote playback + source.

Remote playback is said to be unavailable for the @@ -1131,14 +1134,14 @@

"RemotePlaybackState">connected through an icon or other means.

- The mechanism that is used to connect the user agent with the - remote playback device and play the remote playback - source is an implementation choice of the user agent. The - connection will likely have to provide a two-way messaging - abstraction capable of carrying media commands to the remote - playback device and receiving media playback state in order to keep - the media element state and remote playback state in - sync (unless media mirroring is used). + The mechanisms that are used to connect the user agent with the + remote playback device, select the remote playback + source and initiate playback are implementation choices of the + user agent. The connection will likely have to provide a two-way + messaging abstraction capable of carrying media commands to the + remote playback device and receiving media playback state in order + to keep the media element state and remote playback + state in sync (unless media mirroring is used).
The user agent is encouraged to pass locale and text direction From 2543a1e679eb81cb1edd36d5e2a99463649aa349 Mon Sep 17 00:00:00 2001 From: "mark a. foltz" Date: Thu, 15 Oct 2020 13:18:41 -0700 Subject: [PATCH 2/4] Respond to comments from baylesj --- index.html | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/index.html b/index.html index 77a271c..eeffbb8 100644 --- a/index.html +++ b/index.html @@ -586,9 +586,10 @@
playback source.

- The user agent may send metadata about all resources in - the availability sources set to the remote playback - device so it can run its own + The user agent may send metadata (for example, + the extended MIME type) + about all resources in the availability sources set to + the remote playback device so it can run its own resource selection algorithm and choose the remote playback source. @@ -1136,8 +1137,8 @@

The mechanisms that are used to connect the user agent with the remote playback device, select the remote playback - source and initiate playback are implementation choices of the - user agent. The connection will likely have to provide a two-way + source, and initiate playback are all implementation choices of + the user agent. The connection will likely have to provide a two-way messaging abstraction capable of carrying media commands to the remote playback device and receiving media playback state in order to keep the media element state and remote playback @@ -1146,13 +1147,12 @@

The user agent is encouraged to pass locale and text direction information to the remote playback device when possible, so - that the remote playback device can adjust its user - interface and operational functions to locale-specific attributes - that reflect the user's preferences. For example, the remote - playback device can use that information to choose the same - default text track as the user agent, as well as to set the HTTP - `Accept-Language` header it sends to fetch media - resources. + that the remote playback device can adjust its user interface + and operational functions to locale-specific attributes that reflect + the user's preferences. For example, the remote playback + device can use that information to choose the same default text + track as the user agent, as well as to set the HTTP + `Accept-Language` header it sends to fetch media resources.
The user agent should not render output from the media element while From 3b9ab83b3c594b99e2700ec4b874b642d82a068b Mon Sep 17 00:00:00 2001 From: "mark a. foltz" Date: Wed, 4 Nov 2020 09:59:55 -0800 Subject: [PATCH 3/4] Update per mlamouri comment. Move note. --- index.html | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/index.html b/index.html index eeffbb8..0ef4039 100644 --- a/index.html +++ b/index.html @@ -583,10 +583,23 @@
the availability sources set is implementation-specific, but the user agent SHOULD consider every resource in the availability sources set as a potential remote - playback source. + playback source.

-

- The user agent may send metadata (for example, +

+ The algorithm to select the remote playback source for a + selected device depends on the user agent and supported remote + playback device types. For example, in case of media + mirroring the user agent can simply follow the + {{HTMLMediaElement}}'s + resource selection algorithm. However, if media + remoting or media flinging is used, the best media + source can depend on the selected remote playback device + fetch and playback capabilities. +
+

+ If the user agent cannot determine a remote playback source + appropriate for the remote playback device, it is + RECOMMENDED that the user agent send metadata (for example, the extended MIME type) about all resources in the availability sources set to the remote playback device so it can run its own @@ -1013,17 +1026,6 @@

this user friendly name, using its locale and text direction when they are known.

-
- The algorithm to select the remote playback source for a - selected device depends on the user agent and supported remote - playback device types. For example, in case of media - mirroring the user agent can simply follow the - {{HTMLMediaElement}}'s - resource selection algorithm. - However, if media remoting or media flinging is used, - the best media source can depend on the selected remote playback - device fetch and playback capabilities. -

From 852e47efd6589e37cfd19dc35c8c232601b3746b Mon Sep 17 00:00:00 2001 From: "mark a. foltz" Date: Thu, 5 Nov 2020 13:44:41 -0800 Subject: [PATCH 4/4] Rewrap --- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 0ef4039..2d08b16 100644 --- a/index.html +++ b/index.html @@ -610,8 +610,8 @@

Remote playback is said to be unavailable for the media element if the list of available remote playback - devices is empty or none of them is compatible with any - source from availability sources set for the media + devices is empty or none of them is compatible with any source + from availability sources set for the media element. The remote playback is said to be available otherwise. A `boolean` set to `false` if the remote playback is unavailable