Persistent Widevine L3 Playback Failures: OEMCrypto_DecryptCENC failed: status = 36
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 3k
- Forks
- 955
- Avg merge
- 12d 14h
- Merged PRs (30d)
- 2
Description
Version
Media3 1.6.1
More version details
Hello,
We are encountering a critical and persistent issue affecting Widevine DRM playback in our Android application.
This happens with many kinds of AndroidTV devices.
The problem is 100% reproducible once it starts, and it persists even after standard troubleshooting steps like device reboots and app reinstalls.
The core exception reported by MediaCodec is consistently:
Caused by android.media.MediaCodec$CryptoException: Crypto key not available: 1 (Unknown error -1)
Here's a representative snippet from our crash logs.
6006 ERROR_CODE_DRM_SYSTEM_ERROR
Caused by androidx.media3.exoplayer.s
MediaCodecAudioRenderer error, index=1, format=Format(18, null, audio/mp4, audio/mp4a-latm, mp4a.40.2, 129852, ko, [-1, -1, -1.0, null], [2, 48000]), format_supported=YES
Caused by android.media.MediaCodec$CryptoException
Crypto key not available: 1 (Unknown error -1)
============================== Beginning of DRM Plugin Log ==============================
07-15 12:57:33.971 I found instance=clearkey version=android.hardware.drm@1.4::IDrmFactory
07-15 12:57:33.971 I found instance=playready version=android.hardware.drm@1.4::IDrmFactory
07-15 12:57:33.971 I found instance=widevine version=android.hardware.drm@1.4::IDrmFactory
07-15 12:57:34.709 I [file_utils.cpp(40):Exists] stat failed: ENOENT
07-15 12:57:34.724 I [file_utils.cpp(40):Exists] stat failed: ENOENT
07-15 12:57:34.725 I [file_utils.cpp(40):Exists] stat failed: ENOENT
07-15 12:57:34.730 I [file_utils.cpp(40):Exists] stat failed: ENOENT
07-15 12:57:34.732 I [file_utils.cpp(40):Exists] stat failed: ENOENT
07-15 12:57:34.738 I [file_utils.cpp(40):Exists] stat failed: ENOENT
07-15 12:57:34.740 I [file_utils.cpp(40):Exists] stat failed: ENOENT
07-15 12:57:34.741 I [file_utils.cpp(40):Exists] stat failed: ENOENT
07-15 12:57:34.741 I [cdm_engine.cpp(190):OpenSession] New session: session_id = sid359
07-15 12:57:34.741 I [cdm_engine.cpp(929):QueryOemCryptoSessionId] session_id = sid359
07-15 12:57:34.759 I [cdm_engine.cpp(2044):SetPlaybackId] session_id = sid359, playback_id = uiAE_09h19I1MlmA
07-15 12:57:34.771 I [cdm_engine.cpp(277):GenerateKeyRequest] session_id = sid359, key_set_id = <empty>, license_type = Streaming
07-15 12:57:34.771 I [file_utils.cpp(40):Exists] stat failed: ENOENT
07-15 12:57:34.771 I [file_utils.cpp(40):Exists] stat failed: ENOENT
07-15 12:57:34.982 I [cdm_engine.cpp(834):QuerySessionStatus] session_id = sid359
07-15 12:57:35.222 I [cdm_engine.cpp(834):QuerySessionStatus] session_id = sid359
07-15 12:57:40.212 I [cdm_engine.cpp(356):AddKey] session_id = sid359, key_set_id = <empty>
07-15 12:57:40.340 E [crypto_session.cpp(1692):Decrypt] OEMCrypto_DecryptCENC failed: status = 36
============================== End of DRM Plugin Log ==============================
Can you guys suggest solutions or wokraround?
we would be grateful for any suggestions or guidance on potential troubleshooting steps or temporary workarounds that we could provide to our users.
Thank you!
Devices that reproduce the issue
- Chromecast Google TV
- U+tv UHD3
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps
- play drm contents
- video start
Expected result
video start playing
Actual result
video start failure with 6006 drm error
Media
a few users with any widevine contents
Bug Report
- You will email the zip file produced by
adb bugreportto android-media-github@google.com after filing this issue.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.