androidx / media

Jetpack Media3 support libraries for media use cases, including ExoPlayer, an extensible media player for Android
Apache License 2.0
1.38k stars 324 forks source link

Unable to play Linear DRM: LinearDrm: PlaybackException MediaCodecAudioRenderer error, index=1, format=Format(7, eng, null, audio/mp4a-latm, mp4a.40.2, 93000, en, [-1, -1, -1.0], [2, 48000]), format_supported=YES #1445

Open rambodevelop opened 3 weeks ago

rambodevelop commented 3 weeks ago

LinearDrm: PlaybackException MediaCodecAudioRenderer error, index=1, format=Format(7, eng, null, audio/mp4a-latm, mp4a.40.2, 93000, en, [-1, -1, -1.0], [2, 48000]), format_supported=YES

playerFailed [eventTime=277.67, mediaPos=0.00, window=0, period=0, errorCode=ERROR_CODE_DRM_SYSTEM_ERROR com.google.android.exoplayer2.ExoPlaybackException: MediaCodecAudioRenderer error, index=1, format=Format(7, eng, null, audio/mp4a-latm, mp4a.40.2, 93000, en, [-1, -1, -1.0], [2, 48000]), format_supported=YES at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:562) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:211) at android.os.HandlerThread.run(HandlerThread.java:65) Caused by: android.media.MediaCodec$CryptoException: Crypto key not available at android.media.MediaCodec.native_queueSecureInputBuffer(Native Method) at android.media.MediaCodec.queueSecureInputBuffer(MediaCodec.java:2608) at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.queueSecureInputBuffer(SynchronousMediaCodecAdapter.java:171) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:1307) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:780) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:982) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:486) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:211) at android.os.HandlerThread.run(HandlerThread.java:65) ]

icbaker commented 3 weeks ago

Please provide the additional info requested in the bug issue template - without this it's hard for us to offer any assistance:

Please either post these here or send them to android-media-github@google.com with the subject Issue #1445. Please also update this issue to indicate you’ve done this.

rrfrias commented 1 week ago

If the exception is only retrieved from telemetry data (and a bugreport is not possible), can you get Widevine metrics data after a failure occurs. Use MediaDrm.getPropertyByteArray("metrics") . This returns a byte[] so you might need to convert it to a Base64 encoded string before you share with us (Base64.getEncoder().encodeToString(bytes)) .

Email android-media-github@google.com as mentioned in the previous comment and update this issue after you have done this.