androidx / androidx/media

DRM: Check key status before adapting to a different representation

Open
#1,776 4 comments 0 reactions 1 assignee View on GitHub

@icbaker is already working on this.

Since Oct 7, 2024.

enhancement
Dominant language
Java
Stars
3k
Forks
955
Avg merge
12d 14h
Merged PRs (30d)
2

Description

Hi,

This issue follows up issue #4825 created in ExoPlayer repo some times ago. I did not see any issue here about the next steps about this, so I created this issue.

Now that MediaDrm#setOnKeyStatusChangeListener is implemented, do you plan to enhance the player to check a key status before playing the corresponding track? For now, the player just plays what the ABR rules dictate without knowing key status, and thus potentially leading to a playback error with CryptoException.

I see 2 use-cases for which this enhancement would be useful:

  1. The device does not support a certain protection level (for example Widevine L1, but it also could be PlayReady3000).
  2. The user playing a content does not have the right to play a certain protection level (for example a VOD content available with SD and HD representations, the user bought the SD version, so the license he owns only permits to play SD representations even if HD representations are available in the content).

Limiting the resolution on the app side is not flexible enough because we can imagine an app dealing with different stream providers having their own licensing rules, so it would be really better if the player could do that.

Best regards

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.