-
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
ExoPlayer crashing while trying to release DefaultDrmSession
(Assertions.checkState
)
#9193
Comments
DefaultDrmSession
(Assertions.checkState
)
Thanks for the report - I think there's a bug in the way Specifically if the manager is released while there's still at least one active 'external' session reference the manager will incorrectly release both references (one of the release calls will be delayed by I'll send a fix. One question:
Is this causing playback problems or app crashes, or is it just visible in the logs? |
Before this fix, if DefaultDrmSessionManager.release() was called while there was at least one 'external' session reference still active (i.e. session.referenceCount > 1) then the manager will release it's reference immediately but when the session's reference count subsequently drops to 1 (due to external references being released) the manager will schedule a task to release its internal reference *again*. This change fixes the problem by only scheduling the timed release if the manager is unreleased. This ensures that the internal references are only released once. Issue: #9193 #minor-release PiperOrigin-RevId: 385580741
Sorry missed the question. Guess it was an edit. It is causing app crashes. |
Before this fix, if DefaultDrmSessionManager.release() was called while there was at least one 'external' session reference still active (i.e. session.referenceCount > 1) then the manager will release it's reference immediately but when the session's reference count subsequently drops to 1 (due to external references being released) the manager will schedule a task to release its internal reference *again*. This change fixes the problem by only scheduling the timed release if the manager is unreleased. This ensures that the internal references are only released once. Issue: #9193 PiperOrigin-RevId: 385580741
Probably not related. We are seeing a weird crash after bumping to 2.14.2 (from 2.13.2) with a close stacktrace
The incidence is low, few ~5 out of 25K a day and not device specific, happening across all brands. Although Huawei devices have 40% of the share. Let me know if you have any comment or insight. |
@fpitters Can you please file a new issue? |
A small percentage of our users are facing crashes within Exoplayer 2.13.3
Stacktrace:
I am trying to understand if there is something we aren't handling properly with the DRM Session Manager?
This is how we create the session manager:
The text was updated successfully, but these errors were encountered: