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 w/ streaming content #1956

Closed
joeyparrish opened this issue May 23, 2019 · 8 comments
Closed

Persistent license w/ streaming content #1956

joeyparrish opened this issue May 23, 2019 · 8 comments
Labels
priority: P3 Useful but not urgent status: archived Archived and locked; will not be updated type: enhancement New feature or request

Comments

@joeyparrish
Copy link
Member

A partner asked me if we had any way to support persistent licenses with streaming content. At the moment, we do not.

We would have to persist the session ID somehow, even though the app wouldn't be using offline storage. I'm not sure if this would require a new API, or use of the Storage API, or something else.

The use-case was described as a live sporting event. The app developer would like to avoid all users requesting a license when the event starts, which would cause a huge spike of traffic on the license server. If they could pre-license the user before the event starts, the could spread that traffic out.

This may also relate to our proposed preload API (#880). It's not clear if preload would solve the same problem without the need for a persistent license, but it may.

@joeyparrish joeyparrish added the type: enhancement New feature or request label May 23, 2019
@avelad
Copy link
Collaborator

avelad commented May 23, 2019

I think that the use case is related to my comments in #1833

@shaka-bot shaka-bot added this to the Backlog milestone May 23, 2019
@joeyparrish
Copy link
Member Author

@nibredy, FYI

@joeyparrish
Copy link
Member Author

@deisenbacher01, FYI

@RoLfBOT
Copy link

RoLfBOT commented Aug 1, 2022

Hi @joeyparrish,
Has there been any update on this front?

We have a use case where we are serving certain cost sensitive customers who want the features of DRM based encryption, but the license request costs are not affordable to them. Persisting the licenses therefore reduces the cost significantly.

Any help is appreciated.

Thanks

@joeyparrish
Copy link
Member Author

No, we have not worked on this. We would be happy to discuss a design and review a PR if anyone wants to contribute to this. The shortest path probably involves modifying the Storage API and persisting session IDs in IndexedDB, without storing the content itself. But the team at Google do not currently have time to work on this.

@RoLfBOT
Copy link

RoLfBOT commented Oct 13, 2022

@joeyparrish is it possible to prioritize #4461

joeyparrish pushed a commit that referenced this issue Apr 19, 2023
Add capability to re-use persistent license sessions across sessions.

DrmEngine will now always:
- try to start stored persistent sessions before trying to fetch a
license, as-to be able to check if all needed keys are already loaded.
- ask for a new license when the persistent session doesn't have the
needed keys for playback,

Given the flag `persistentSessionOnlinePlayback` is true, DrmEngine:
- won't remove the persistent session from the device at the end of the
playback,
- won't throw an error when the persistent session isn't found on the
device,

For now, it needs Shaka's users to persist session information by
themselves (localStorage, IndexDB, ...) before giving it back for the
next session. Still, it lays foundation to develop the feature to fully
handling it on Shaka's side.

Related to #1956
@avelad
Copy link
Collaborator

avelad commented Apr 20, 2023

I think that can be close it with cc97da1 , @joeyparrish what do you think?

@avelad avelad added the status: waiting on response Waiting on a response from the reporter(s) of the issue label Aug 28, 2023
@shaka-bot
Copy link
Collaborator

Closing due to inactivity. If this is still an issue for you or if you have further questions, the OP can ask shaka-bot to reopen it by including @shaka-bot reopen in a comment.

@shaka-bot shaka-bot removed the status: waiting on response Waiting on a response from the reporter(s) of the issue label Sep 4, 2023
@avelad avelad removed this from the Backlog milestone Sep 4, 2023
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Nov 3, 2023
@shaka-project shaka-project locked as resolved and limited conversation to collaborators Nov 3, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
priority: P3 Useful but not urgent status: archived Archived and locked; will not be updated type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants