DRM: Check key status before adapting to a different representation
@icbaker is already working on this.
Since Oct 7, 2024.
- 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:
- The device does not support a certain protection level (for example Widevine L1, but it also could be PlayReady3000).
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.