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

Playready License Renewal not triggered #7725

Closed
daniel-dias opened this issue Dec 6, 2024 · 4 comments
Closed

Playready License Renewal not triggered #7725

daniel-dias opened this issue Dec 6, 2024 · 4 comments
Labels
component: PlayReady The issue involves the PlayReady DRM type: question A question from the community

Comments

@daniel-dias
Copy link

daniel-dias commented Dec 6, 2024

Have you read the Tutorials?
Yes

Have you read the FAQ and checked for duplicate open issues?
Yes

What version of Shaka Player are you using?
v4.9.5

What browser and OS are you using?
Windows 11 and Microsoft Edge 131

Please ask your question
I have an app with Shaka Player that plays DASH Streams using DRM Widevine and Playready.
The Licenses have a limited duration and must be renewed every 5 minutes.

With Widevine, all works correctly, the player requests both the Initial License as well as all the Renewal Licenses, and the streams are playing without problems.

But when using Playready (Browser Edge and also Xbox UWP), what is happening is that the Initial License is requested correctly, but after that, the player never requests a Renewal License, resulting with the player throwing an error 6014 - Expired.

Is this behaviour expected with Playready? As far as i know, these Limited Duration Licenses (LDL) whould work with Playready.
I have searched the github issues but didn't find anyone with this particular issue, which seems strange.

As i know the time that the license will expire, is it possible for me to manually trigger a license renewal to the license server?

Regards,
Daniel

@daniel-dias daniel-dias added the type: question A question from the community label Dec 6, 2024
@tykus160
Copy link
Member

@daniel-dias can you try to pass following config on Edge Desktop?

player.configure({
  drm: {
    keySystemsMapping: {
      'com.microsoft.playready': 'com.microsoft.playready.recommendation',
    },
  },
});

I'm not sure about recommendation key system, but com.microsoft.playready one does not send license-renewal events. For this use case we would have to add new config (timeToRenew or something like that) and trigger license renewal manually.

There is similar problem on FairPlay btw, see #6280.

@tykus160 tykus160 added the component: PlayReady The issue involves the PlayReady DRM label Dec 16, 2024
@daniel-dias
Copy link
Author

Hello @tykus160

I have added the keySystemsMapping config but there is no change on the behaviour.

On the ticket you provided, you have the sugestion:

let renew = Uint8Array.from('renew', c => c.charCodeAt(0));
mediaKeySession.update(renew);

Is anything like that possible using DASH with Playready? Triggering a license request whenever i wanted?

Regards,
Daniel

@tykus160
Copy link
Member

@daniel-dias

Is anything like that possible using DASH with Playready? Triggering a license request whenever i wanted?

Yes, but for PlayReady it won't be as straightforward as for FairPlay. You'd probably have to call MediaKeySession.generateRequest() manually with lastly seen init data or maybe even create a new session and close the old one.
I can't find any documentation from PlayReady about it unfortunately.
As with ticket I mentioned - unfortunately I don't have capacity and proper DRM environment to develop it on my own, but I'm happy to help in the process.

@shaka-bot
Copy link
Collaborator

@daniel-dias Does this answer all your questions? If so, would you please close the issue?

@shaka-bot shaka-bot added the status: waiting on response Waiting on a response from the reporter(s) of the issue label Dec 21, 2024
@shaka-bot shaka-bot removed the status: waiting on response Waiting on a response from the reporter(s) of the issue label Dec 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: PlayReady The issue involves the PlayReady DRM type: question A question from the community
Projects
None yet
Development

No branches or pull requests

3 participants