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

persistent license renewal #1347

Open
odedhutzler opened this issue Mar 8, 2018 · 11 comments
Open

persistent license renewal #1347

odedhutzler opened this issue Mar 8, 2018 · 11 comments
Labels
component: offline The issue involves the offline storage system of Shaka Player flag: seeking PR We are actively seeking PRs for this; we do not currently expect the core team will resolve this priority: P2 Smaller impact or easy workaround type: enhancement New feature or request
Milestone

Comments

@odedhutzler
Copy link

Hi,

Do you have an API for persistent (offline) license renewal? i want to renew the license without download the video again.

Thanks
Oded

@TheModMaker
Copy link
Contributor

First, I believe there is no way to renew an offline license. The only option would be to delete the old license and download a new license. But trying to swap out the license is unsupported. We might be able to add an API to reset the licences of a piece of content, but it would require storing the pssh data so we can make another license request later.

@TheModMaker TheModMaker added the type: enhancement New feature or request label Mar 8, 2018
@TheModMaker TheModMaker added this to the Backlog milestone Mar 8, 2018
@odedhutzler
Copy link
Author

@TheModMaker alright, thanks.

@odedhutzler
Copy link
Author

odedhutzler commented Mar 13, 2018

so in the meanwhile, i am trying to create a renewal mechanism by myself.
I created a function that gets the manifest from the DB, then i created a drmEngine and:

session.load(manifestDb.sessionID) //old session ID
.then(()=>return session.remove()) //removing the old session
.then(()=>return loadInternal(...)) // which should create a new license session.
...
.then(()=> this.storageEngine_.updateManifest // with the new sessionID & expiration.

that seems to work.

however, when i am trying to load the offline asset, i get

Shaka Error DRM.FAILED_TO_CREATE_SESSION (Rejected with system code (70))

after i refresh the page the offline asset plays without any issue.

any thoughts?
What is system code 70?

@joeyparrish
Copy link
Member

I consulted with the Widevine CDM folks, and system code 70 seems to indicate that you are trying to load a session which is already in use. The session created by loadInternal() might need to be closed at the end of your Promise chain.

@odedhutzler
Copy link
Author

@joeyparrish cool! i will try that and let you know.

@odedhutzler
Copy link
Author

@joeyparrish seems to do the trick, thanks!!

@joeyparrish joeyparrish added the flag: seeking PR We are actively seeking PRs for this; we do not currently expect the core team will resolve this label Mar 13, 2018
@joeyparrish
Copy link
Member

Happy to help! Please feel free to send a PR if you have something you'd like to share.

@odedhutzler
Copy link
Author

@joeyparrish sure thing!

@OrenMe
Copy link
Contributor

OrenMe commented Jun 13, 2019

Hi @joeyparrish continuing my question from #1301 is there any update for this as well?

@OrenMe
Copy link
Contributor

OrenMe commented Jul 2, 2019

Hi, any update on this?

@joeyparrish
Copy link
Member

Hi, any update on this?

We're still open to a PR. We're not working on this internally at the moment.

@joeyparrish joeyparrish modified the milestones: Backlog, Backlog 2 Jan 28, 2020
@joeyparrish joeyparrish added the priority: P2 Smaller impact or easy workaround label Oct 4, 2021
@avelad avelad added the component: offline The issue involves the offline storage system of Shaka Player label Nov 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: offline The issue involves the offline storage system of Shaka Player flag: seeking PR We are actively seeking PRs for this; we do not currently expect the core team will resolve this priority: P2 Smaller impact or easy workaround type: enhancement New feature or request
5 participants