-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How should the capability to decode unencrypted media data be checked? #197
Comments
Another option here would be to make support of unencrypted content mandatory. Are there any implementations that support only encrypted content once a |
Chrome works this way, though it is a little more nuanced than that. My understanding is that they will play unencrypted content until you start passing encrypted content. After that, unencrypted content will no longer play. https://bugs.chromium.org/p/chromium/issues/detail?id=597443 |
I think we do assume that unencrypted blocks can be decoded - even "encrypted streams" may not be entirely encrypted. However, both scenarios refer to codecs that can be played by the user agent but not if they are encrypted (or at least in the specified configuration). |
This could definitely be an issue for ad splicing scenarios. Ads will typically not be encrypted. Although to be fair, I believe it is fairly easy to have multiple video elements and swap visibility to handle this case. I believe our player implementations do this. |
Since the empty |
This does not appear to be an actual issue. Clear content through an encrypted pipeline is a degenerate case of clear lead. |
The spec currently assumes that all
MediaKeySystemMediaCapability
values refer to encrypted media data. However, it is possible (i.e. #178 (comment)) that an application wants to use unencrypted stream(s) along with encrypted stream(s). Currently, even an emptyrobustness
string "indicates that any ability to decrypt and decode the content type is acceptable." Thus, there is currently no way to explicitly test for support of clear content.Scenarios where this might be relevant include:
While it might seem that
canPlayType()
or MSE'sisTypeSupported()
could provide this information, this would not provide the appropriate response for the second scenario above.One option would be to redefine the meaning of the empty
robustness
string (see #196). Alternatively, we could pick arobustness
string that always means clear content for all Key Systems (i.e.'clear'
).The text was updated successfully, but these errors were encountered: