diff --git a/encrypted-media-respec.html b/encrypted-media-respec.html index e82bfb02..51cdd8f8 100644 --- a/encrypted-media-respec.html +++ b/encrypted-media-respec.html @@ -605,14 +605,48 @@
If the is not unique per-origin and clearable, return null
.
Implementations MUST use per-origin identifiers and allow the user to clear identifiers.
++ The "unique per-origin" and "clearable" conditions cannot be false in a compliant implementation because implementations MUST use per-origin identifiers and allow the user to clear identifier. +
- If there is no persisted consent covering accumulated configuration for the origin, it is RECOMMENDED that implementations request user consent to use Distinctive Identifier(s). + Let distinctive identifier state be the result of running the algorithm on accumulated configuration and origin and follow the steps for the first matching condition from the following list:
-A previous user consent for a prompt that did not include use of a (with similar properties) would not be considered as covering this accumulated configuration, which implies use of such an identifier.
-Implementations MAY require consent for other reasons, such as the security properties of the CDM implementation.
+ +ConsentRequired
:+ Request user consent to use Distinctive Identifier(s) for accumulated configuration and origin. +
+
+ If consent was denied, return null
.
+
InformUser
:
+ + Inform the user that Distinctive Identifier(s) are in use for accumulated configuration and origin. +
++ Continue with the following steps. +
+Return accumulated configuration.
Given a audio/video type, MediaKeySystemMediaCapability sequence requested media capabilities, and MediaKeySystemConfiguration partial configuration, this algorithm returns a sequence of supported MediaKeySystemMediaCapability values for this audio/video type or null
as appropriate.
Implementations SHOULD return Not Allowed
. Implementations MAY return Allowed
.
+ Given an accumulated configuration and an origin, this algorithm returns the status of Distinctive Identifier(s) for accumulated configuration and origin as one of ConsentRequired
, InformUser
or Allowed
.
+
+ If there is persisted state indicating that Distinctive Identifier(s) are allowed for accumulated configuration and origin return Allowed
.
+
+ A previous user consent for a prompt that did not include use of a (with similar properties) would not be considered as covering an accumulated configuration, which implies use of such an identifier. +
+
+ If the any of the recommendations of Allow Identifiers to be Cleared are not supported by the User Agent, or if the user agent requires explicit consent for the user of
+ Distinctive Identifier(s) for other reasons, return ConsentRequired
.
+
+ Implementations MAY require consent for other reasons, such as the security properties of the CDM implementation. +
+
+ Return InformUser
.
+
@@ -485,7 +580,7 @@
MediaKeySystemAccess
InterfaceMediaKeys
InterfaceMediaKeySession
InterfaceHTMLMediaElement
ExtensionsMediaKeySystemAccess
InterfaceMediaKeys
InterfaceMediaKeySession
InterfaceHTMLMediaElement
Extensionsnull
.
- Implementations MUST use per-origin identifiers and allow the user to clear identifiers.
+ The "unique per-origin" and "clearable" conditions cannot be false in a compliant implementation because implementations MUST use per-origin identifiers and allow the user to clear identifier. +
- If there is no persisted consent covering accumulated configuration for the origin, it is RECOMMENDED that implementations request user consent to use Distinctive Identifier(s). + Let distinctive identifier state be the result of running the Get Distinctive Identifier State algorithm on accumulated configuration and origin and follow the steps for the first matching condition from the following list:
-A previous user consent for a prompt that did not include use of a Distinctive Identifier (with similar properties) would not be considered as covering this accumulated configuration, which implies use of such an identifier.
Implementations MAY require consent for other reasons, such as the security properties of the CDM implementation.
ConsentRequired
:+ Request user consent to use Distinctive Identifier(s) for accumulated configuration and origin. +
+
+ If consent was denied, return null
.
+
InformUser
:
+ + Inform the user that Distinctive Identifier(s) are in use for accumulated configuration and origin. +
++ Continue with the following steps. +
+Return accumulated configuration.
- +Given a audio/video type, MediaKeySystemMediaCapability
sequence requested media capabilities, and MediaKeySystemConfiguration
partial configuration, this algorithm returns a sequence of supported MediaKeySystemMediaCapability
values for this audio/video type or null
as appropriate.
For example, if audio/video type is Video and the top-level type is not "video" or audio/video types contains non-video codecs.
For example, if audio/video type is Video and the top-level type is not "video" or audio/video types contains non-video codecs.
Let container be the container type specified by content type.
If the user agent does not support container, continue to the next iteration. The case-sensitivity of string comparisons is determined by the appropriate RFC.
-Per RFC 6838 [RFC6838], "Both top-level type and subtype names are case-insensitive."
Per RFC 6838 [RFC6838], "Both top-level type and subtype names are case-insensitive."
Let parameters be the RFC 6381 [RFC6381] parameters, if any, specified by content type.
If the user agent does not recognize one or more parameters, continue to the next iteration.
Let audio/video types be the set of codecs, with parameters, specified by parameters. It MAY be empty. The case-sensitivity of string comparisons is determined by the appropriate RFC or other specification.
-Case-sensitive string comparison is RECOMMENDED because RFC 6381 [RFC6381] says, "Values are case sensitive" for some formats.
Case-sensitive string comparison is RECOMMENDED because RFC 6381 [RFC6381] says, "Values are case sensitive" for some formats.
If robustness is not the empty string and contains an unrecognized value or a value not supported by implementation, continue to the next iteration. String comparison is case-sensitive.
If the user agent and implementation do not support playback of encrypted media data for the combination of container, audio/video types, robustness and local accumulated configuration, continue to the next iteration.
-requested media capability (content type and robustness) must be supported with all previously added requested media capabilities.
requested media capability (content type and robustness) must be supported with all previously added requested media capabilities.
Add requested media capability to supported media capabilities.
-+
This step ensures that the values of the members of entries in supported media capabilities are exactly the strings supplied in requested media capability without modification by the User Agent.
+
This step ensures that configurations are always checked with configurations from previous iterations, including from previous calls to this algorithm. Otherwise, only configurations from previous calls to this algorithm would be checked in subsequent calls.
None of the MediaKeySystemMediaCapability
elements in requested media capabilities is supported in combination with partial configuration.
None of the MediaKeySystemMediaCapability
elements in requested media capabilities is supported in combination with partial configuration.
Return supported media capabilities.
Not Allowed
. Implementations MAY return Allowed
.
+
+ Given an accumulated configuration and an origin, this algorithm returns the status of Distinctive Identifier(s) for accumulated configuration and origin as one of ConsentRequired
, InformUser
or Allowed
.
+
+ If there is persisted state indicating that Distinctive Identifier(s) are allowed for accumulated configuration and origin return Allowed
.
+
+ A previous user consent for a prompt that did not include use of a Distinctive Identifier (with similar properties) would not be considered as covering an accumulated configuration, which implies use of such an identifier. +
+ If the any of the recommendations of Allow Identifiers to be Cleared are not supported by the User Agent, or if the user agent requires explicit consent for the user of
+ Distinctive Identifier(s) for other reasons, return ConsentRequired
.
+
+ Implementations MAY require consent for other reasons, such as the security properties of the CDM implementation. +
+ Return InformUser
.
+