Skip to content
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

Add consideration for MediaDecodingConfiguration to 2.3.3. Check Encrypted Decoding Support algorithm #153

Open
vi-dot-cpp opened this issue Jun 23, 2020 · 3 comments

Comments

@vi-dot-cpp
Copy link
Contributor

vi-dot-cpp commented Jun 23, 2020

2.3.3. Check Encrypted Decoding Support algorithm only checks the CDM for MediaKeySystemConfiguration support. This assumes that clear and protected modes share the same MediaConfiguration capabilities.

In Edge, the PlayReady CDM renders encrypted content using a different renderer than the Chromium renderer, thus creating a need for EME MC.decodingInfo() to additionally check MediaConfiguration.

Ideally this could be achieved while maintaining MC's dependency on EME and impacting EME minimally. After discussion, chcunningham@ suggested the following:

(MC Spec) 2.3.3. Check Encrypted Decoding Support
Steps 1 - 6: as-is
Insert new step 7: "Additionally, check that implementation supports decoding for attributes of configuration not found in emeConfiguration. If any attribute is unsupported, return null and abort these steps."
Existing step 7 and 8 shift down to become steps 8 and 9.

Rationale: I'm trying to stay roughly consistent with how we spec'ed supported = true for the non EME case. "If the user agent is able to decode the media represented by configuration, set supported to true." This also has the nice property that's its very succinct!

What are your thoughts?

@chcunningham
Copy link
Contributor

I still support :). @mounirlamouri - any feedback?

@mounirlamouri
Copy link
Member

I have a hard time to understand what the proposal is trying to do. Are we suggesting to check the supported configuration back?

@vi-dot-cpp
Copy link
Contributor Author

Are we suggesting to check the supported configuration back?

I understand the proposal, in essence, to mean that supported configuration is to be the combined result of the Get Supported Configuration algorithm and the proposed step 7.

supported configuration is NotSupported if either step so indicates.

If both steps indicate support, I'm not planning for MediaConfiguration-specific configurations to be reflected in supported configuration and be part of MediaKeySystemAccess because:

  1. The ambiguity that necessitates MediaKeySystemAccess.getConfiguration() is not problematic for MediaCapabilities.decodingInfo() as the input is a single configuration as opposed to a vector of configurations.
  2. MediaKeySystemAccess.getConfiguration() calls out that "the returned object is a non-strict subset...and thus may not reflect all capabilities of the Key System implementation." I interpet this to mean that sites know there can be gaps.
  3. Doing so likely requires spec edits to MediaKeySystemConfiguration, which I am aiming to avoid.

Let me know if I've misunderstood your question -- thanks.

@chrisn chrisn added this to the V1 milestone Dec 15, 2023
@chrisn chrisn added decoding agenda Topic should be discussed in a group call labels Dec 15, 2023
@chrisn chrisn removed the agenda Topic should be discussed in a group call label May 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants