media icon indicating copy to clipboard operation
media copied to clipboard

clearkey CryptoException: Operation not supported in this configuration: ERROR_DRM_CANNOT_HANDLE

Open 360060316 opened this issue 1 month ago • 5 comments

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 bugreport to [email protected] after filing this issue.

360060316 avatar Nov 25 '25 15:11 360060316

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.

icbaker avatar Nov 25 '25 15:11 icbaker

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"}

360060316 avatar Nov 25 '25 15:11 360060316

https://sundirectgo-live.pc.cdn.bitgravity.com/svchd3/dth.mpd {"keys":[{"kty":"oct","kid":"4lNBSlejI7b9DS2LktUznw","k":"8z4QwRWw66k0CseXExYd7Q"}],"type":"temporary"}

360060316 avatar Nov 25 '25 15:11 360060316

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.

icbaker avatar Nov 25 '25 17:11 icbaker

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.

Can I manually specify it, The web player can play

360060316 avatar Nov 26 '25 11:11 360060316