[encrypted-media] Add "pending" or [temporarily] "unknown" value to MediaKeyStatus

ddorwin has just created a new issue for
https://github.com/w3c/encrypted-media:

== Add "pending" or [temporarily] "unknown" value to MediaKeyStatus ==
Determining key status, especially for output protection
(`"output-downscaled"`or `"output-not-allowed"`), may take time. The
spec currently says to use the status "that corresponds to the reason
for the additional processing."

However, without a separate status, an application will not know
whether that reported status represents a temporary state or the
actual (determined) state - there will be no subsequent event or
status change for which the application can wait.

If the status is instead set to a [temporarily] unknown state, the
application will know to expect the status to change, and a
`keystatuseschange` event would be fired when the status is finalized.

As a specific example, when a license is initially provided,
applications currently cannot differentiate between HDCP not being
supported and HDCP negotiation in progress. The interim
`"output-not-allowed"` or `"output-not-allowed"` status would likely
cause an application to behave (i.e. fetching appropriate streams) as
if HDCP is not supported. An application might behave differently if
the status is temporarily unknown.

Another potential use of an `"unknown"` status value would be for
platform-based CDM impelmentations that do not support key statuses.
However, it seems there is a good chance that such platforms do not
expose the key IDs either. If we don't need to address this case, we
could name the state something more specific, such as `"pending"`.
Alternatively, we could add both for the different use cases.

See https://github.com/w3c/encrypted-media/issues/21

Received on Saturday, 24 January 2015 00:11:24 UTC