-
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
Keep the same DRM Session for live zapping #8523
Comments
I can reproduce this by using the demo app, playing the
The keepalive is 'working' in the sense the sessions aren't released immediately after transitioning out of the associated period (they all get released when pressing the UI back button and returning to the sample chooser page, because this releases the player and all associated resources). However the keepalive isn't helping you, because You can change this behaviour by passing a single manager instance to This instance will then be used for every item in the playlist. Note that this method will be deprecated in 2.13 and replaced by a |
Thank-you for your prompt response On the other hand, if I use a single ExoPlayer instance for a live stream which contains multiple channels (without playlist), does this customization remain valid so that I reuse a key? |
Not sure what you mean by 'channel' here. My suggestion will work so long as the You can likely avoid this by manually holding a reference - i.e. call |
Without this a new manager is instantiated for every item in a playlist, meaning the impact of caching improvements to DefaultDrmSessionManager are reduced (since the cache doesn't persist across playlist items). With this change, playlists of items with identical DRM config will use the same manager instance (and thus share existing sessions). Issue: #8523 #minor-release PiperOrigin-RevId: 356690852
Without this a new manager is instantiated for every item in a playlist, meaning the impact of caching improvements to DefaultDrmSessionManager are reduced (since the cache doesn't persist across playlist items). With this change, playlists of items with identical DRM config will use the same manager instance (and thus share existing sessions). Issue: #8523 PiperOrigin-RevId: 356690852
Hi,
I ask you following the issue #7286
Use case
User switch between protected content: content A -> content B -> content A
Target
I want to reuse the content's DRM session when the user switch between content A -> content B -> content A for the purpose of optimizing the start-up time of the PlayBack
ExoPlayer Version
2.12 (with the DRMSessionKeepAlive mechanism enabled by default)
Result found:
I put the contents A and B in a playlist to use a single ExoPlayer instance for the playback, I noticed that the DRM License is requested at each switch between contents.
In addition, at the time of the switch, the decoder is disabled which causes a first DRM release (Session keept Alive) and later a release of sampleQue which
causes a total release of the DRM session from which the DRM session kept alive is completely released.
So, Even with the DRMSessionKeepAlive mechanism, is the customization of DRMSessionManager essential to reuse the DRM session ? If so, should you put the DRM session in the cache to reuse it later?
Alternatively, do you think of a similar evolution in the next versions of ExoPlayer?
Best Regards,
The text was updated successfully, but these errors were encountered: