-
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
DRM with key rotation: Black flicker observed when keys rotate #3561
Comments
Thank you for the new issue. |
any updates for this issue? |
We will provide an update when there is one (lack of update == there is no update). Thanks. |
Same issue here, looking forward for an update as well. Thanks |
After reading the document about Key Rotation on Android (https://storage.googleapis.com/wvdocs/Widevine_DRM_Android_Using_Key_Rotation.pdf). to the best of my knowledge, the bug is related to the moment of releasing the initial sessionId1 which lead to tearing down the MediaCodec and creating new one. So, I think somewehere in Exoplayer library, you destruct the initial session. |
Originally, i thought @cizarco was right: obviously, the current implementation closes the primary/first session when opening a new one, which doesn't match the document's design. But even if I don't release any session, this issue still happens. So it seems the cause was somewhere else. |
@cizarco is right. Just commenting out releasing of sessions isn't sufficient to fix it. More in depth changes are required (e.g. to ensure |
Issue: #3561 PiperOrigin-RevId: 229934093
Fixed in |
The pause is tracked by #4133, so closing this one. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
As per my comment above, this is fixed in dev-v2 for API level 23 and above. The issue is tricky to fix in a general way on earlier API levels, and we will likely not be investing time into doing so. Note there's still a small pause when key rotation occurs. This is tracked by #4133. Aside: I've marked the extended discussion that occurred in this issue after it was closed as off topic, so that it's easy to understand for those reading it. |
Spun out from #1298. When playing a stream with key rotation, the display flickers black at the points when keys rotate. Every three minutes in this sample:
This is because the secure video decoder is (incorrectly) released and re-instantiated.
There also appears to be an audio underrun on some devices, although this may be more of a performance problem with some devices as opposed to an ExoPlayer issue.
The text was updated successfully, but these errors were encountered: