clearkey CryptoException: Operation not supported in this configuration: ERROR_DRM_CANNOT_HANDLE
Version
Media3 1.8.0
More version details
No response
Devices that reproduce the issue
xiaomi 11p
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps
play
Expected result
fix
Actual result
playerFailed [eventTime=3.31, mediaPos=292.00, window=0, period=0, errorCode=ERROR_CODE_DRM_SYSTEM_ERROR (Ask Gemini) androidx.media3.exoplayer.ExoPlaybackException: MediaCodecAudioRenderer error, index=4, format=Format(TS-49410_5_audio_SD_DRM-1, null, audio/mp4, audio/mp4a-latm, mp4a.40.2, 129000, hi, [-1, -1, -1.0, null], [2, 48000]), format_supported=YES at androidx.media3.exoplayer.BaseRenderer.createRendererException(BaseRenderer.java:545) at androidx.media3.exoplayer.BaseRenderer.createRendererException(BaseRenderer.java:514) at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:910) at androidx.media3.exoplayer.RendererHolder.render(RendererHolder.java:391) at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1367) at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:697) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loopOnce(Looper.java:222) at android.os.Looper.loop(Looper.java:314) at android.os.HandlerThread.run(HandlerThread.java:67) Caused by: android.media.MediaCodec$CryptoException: Operation not supported in this configuration: ERROR_DRM_CANNOT_HANDLE cdm err: 0, oem err: 0, ctx: 0 ============================== Beginning of DRM Plugin Log ============================== 11-25 23:08:55.978 I found instance=clearkey [email protected]::IDrmFactory 11-25 23:08:55.978 I found instance=wfdhdcp [email protected]::IDrmFactory 11-25 23:08:55.978 I found instance=widevine [email protected]::IDrmFactory 11-25 23:08:57.974 W Cannot cast [email protected]::IDrmPlugin obj to [email protected]::IDrmPlugin plugin 11-25 23:08:58.298 W Cannot cast [email protected]::ICryptoPlugin obj to [email protected]::ICryptoPlugin plugin ============================== End of DRM Plugin Log ============================== at android.media.MediaCodec.native_queueSecureInputBuffer(Native Method) at android.media.MediaCodec.queueSecureInputBuffer(MediaCodec.java:3114) at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecBufferEnqueuer.doQueueSecureInputBuffer(AsynchronousMediaCodecBufferEnqueuer.java:233) at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecBufferEnqueuer.doHandleMessage(AsynchronousMediaCodecBufferEnqueuer.java:194) at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecBufferEnqueuer.access$000(AsynchronousMediaCodecBufferEnqueuer.java:45) at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecBufferEnqueuer$1.handleMessage(AsynchronousMediaCodecBufferEnqueuer.java:91) at android.os.Handler.dispatchMessage(Handler.java:106) ... 3 more ]
Media
https://sundirectgo-live.pc.cdn.bitgravity.com/svchd14/dth.mpd
49872704f9eb73fd6c124d0290fcedad:885500e2cbd6d57603567fe7262046d2 Need Indian network
Bug Report
- [ ] You will email the zip file produced by
adb bugreportto [email protected] after filing this issue.
Please provide the code you're using to configure ExoPlayer for this clearkey playback.
Please note the points in https://github.com/androidx/media/issues/777#issuecomment-1785029747 about how to encode the key and key ID into the JSON response.
Please provide the code you're using to configure ExoPlayer for this clearkey playback.
Please note the points in #777 (comment) about how to encode the key and key ID into the JSON response.
Do you need this {"keys":[{"kty":"oct","kid":"SYcnBPnrc_1sEk0CkPztrQ","k":"iFUA4svW1XYDVn_nJiBG0g"}],"type":"temporary"}
https://sundirectgo-live.pc.cdn.bitgravity.com/svchd3/dth.mpd {"keys":[{"kty":"oct","kid":"4lNBSlejI7b9DS2LktUznw","k":"8z4QwRWw66k0CseXExYd7Q"}],"type":"temporary"}
In your MPD files I see you include pssh boxes for the widevine and playready <ContentProtection> nodes, but there is no clearkey node (I would expect it to have schemeIdUri="urn:uuid:e2719d58-a985-b3c9-781a-b030af78d30e").
I didn't see a pssh box in an init segment from your stream, nor from a media chunk either.
I'm not convinced this DASH stream has the correct clearkey info in the right places to be playable.
In your MPD files I see you include
psshboxes for the widevine and playready<ContentProtection>nodes, but there is no clearkey node (I would expect it to haveschemeIdUri="urn:uuid:e2719d58-a985-b3c9-781a-b030af78d30e").I didn't see a pssh box in an init segment from your stream, nor from a media chunk either.
I'm not convinced this DASH stream has the correct clearkey info in the right places to be playable.
Can I manually specify it, The web player can play