-
Notifications
You must be signed in to change notification settings - Fork 6k
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
What to customize to support DRM key reusability? #7286
Comments
This is not a valid thing to do. Key requests and responses have a 1:1 correspondence. It is not valid to provide a license response generated in response to one key request as the response to another different key request. There are only two ways of doing what you're trying to do:
|
I loosely customize the DefaultDrmSessionManager as you describe, but I got exceptions thrown out for illegal state. I suppose I have to customize the drmSession as well?
Exception after 1 retry
|
What you're doing is not sufficient to actually keep the session open. If you want the session to stay open, you'll need to ensure that its reference count doesn't drop to 0. So, when you decide to hold on to the session, you should increment its reference count by calling |
Searched documentation and issues
https://medium.com/google-exoplayer/improved-decoder-reuse-in-exoplayer-ef4c6d99591d
#949
What to customize to support DRM key reusability?
I'm looking for ways to customize exoplayer to allow drm key (my case its Widevine) to be reused in case that the player retries/replays a streaming content to reduce startup/rebuffering time. This can either be from retrying playback from a failure, replay by user input, or in a case where the user switches content from content A -> content B -> content A.
Basically, the MediaDrmCallback.executeKeyRequest event shouldn't be called upon retrying and the streaming drm content should be playable.
I tried a couple of things to achieve this but to no avail.
Next step would be to look into the CodecRenderers, but I'm having trouble looking and which APIs are to be overwritten to achieve it
Apple's ContentKeySession in some way were able to achieve this. So I hope exoplayer has the capability to do the same thing
The text was updated successfully, but these errors were encountered: