ExoPlayer: MediaDrmStateException occurs during download and streaming playback.
This exception occurs on Pixel devices, but only on certain devices, not all devices.
Searched documentation and issues
・ExoPlayer Javadoc. ・ExoPlayer Issues
Question
An exception occurs during streaming and download playback. This exception occurs on Pixel devices, but only on certain devices, not all devices. The source code is the same as # 8175. When I checked the error log, I asked a question because it was different from the error log that occurred in the past.
- Is this exception the same cause as past problems (#8175, #8655)?
Error log during streaming playback
ExoPlayerImplInternal: Renderer error: index=0, type=video, format=Format(3, null, null, video/avc, avc1.4d4028, 1000000, null, [800, 450, 29.97003], [-1, -1]), rendererSupport=NO_UNSUPPORTED_DRM
ExoPlayerImplInternal: com.google.android.exoplayer2.ExoPlaybackException: android.media.MediaCodec$CodecException: Error 0xffffffe0
ExoPlayerImplInternal: at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.a(MediaCodecRenderer.java:48)
ExoPlayerImplInternal: at m.c.b.b.z.a(BaseRenderer.java:14)
ExoPlayerImplInternal: at m.c.b.b.j0.handleMessage(ExoPlayerImplInternal.java:24)
ExoPlayerImplInternal: at m.c.b.b.j0.b(ExoPlayerImplInternal.java:161)
ExoPlayerImplInternal: at android.os.Handler.dispatchMessage(Handler.java:102)
ExoPlayerImplInternal: at android.os.Looper.loop(Looper.java:223)
ExoPlayerImplInternal: at android.os.HandlerThread.run(HandlerThread.java:67)
ExoPlayerImplInternal: at android.media.MediaCodec.native_queueSecureInputBuffer(Native Method)
ExoPlayerImplInternal: Caused by: android.media.MediaCodec$CodecException: Error 0xffffffe0
ExoPlayerImplInternal: at android.media.MediaCodec.queueSecureInputBuffer(MediaCodec.java:2821)
ExoPlayerImplInternal: at m.c.b.b.o1.r.a(SynchronousMediaCodecAdapter.java:6)
ExoPlayerImplInternal: at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.q(MediaCodecRenderer.java:81)
ExoPlayerImplInternal: at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.a(MediaCodecRenderer.java:37)
Error log during download playback
ExoPlayerImplInternal: Source error.
ExoPlayerImplInternal: com.google.android.exoplayer2.drm.DrmSession$DrmSessionException: java.lang.IllegalArgumentException: Failed to restore keys
ExoPlayerImplInternal: at com.google.android.exoplayer2.drm.DefaultDrmSession.a(DefaultDrmSession.java:44)
ExoPlayerImplInternal: at com.google.android.exoplayer2.drm.DefaultDrmSession.h(DefaultDrmSession.java:3)
ExoPlayerImplInternal: at com.google.android.exoplayer2.drm.DefaultDrmSession.a(DefaultDrmSession.java:30)
ExoPlayerImplInternal: at com.google.android.exoplayer2.drm.DefaultDrmSession.b(DefaultDrmSession.java:9)
ExoPlayerImplInternal: at com.google.android.exoplayer2.drm.DefaultDrmSessionManager.a(DefaultDrmSessionManager.java:58)
ExoPlayerImplInternal: at m.c.b.b.s1.k0.a(SampleQueue.java:152)
ExoPlayerImplInternal: at m.c.b.b.s1.k0.a(SampleQueue.java:64)
ExoPlayerImplInternal: at m.c.b.b.s1.q0.g.a(ChunkSampleStream.java:68)
ExoPlayerImplInternal: at m.c.b.b.s1.k0.a(SampleQueue.java:8)
ExoPlayerImplInternal: at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.a(MediaCodecRenderer.java:30)
ExoPlayerImplInternal: at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.b(MediaCodecRenderer.java:3)
ExoPlayerImplInternal: at m.c.b.b.z.a(BaseRenderer.java:15)
ExoPlayerImplInternal: at m.c.b.b.j0.handleMessage(ExoPlayerImplInternal.java:24)
ExoPlayerImplInternal: at m.c.b.b.j0.b(ExoPlayerImplInternal.java:161)
ExoPlayerImplInternal: at android.os.Handler.dispatchMessage(Handler.java:102)
ExoPlayerImplInternal: at android.os.HandlerThread.run(HandlerThread.java:67)
ExoPlayerImplInternal: at android.os.Looper.loop(Looper.java:223)
ExoPlayerImplInternal: Caused by: java.lang.IllegalArgumentException: Failed to restore keys
ExoPlayerImplInternal: at android.media.MediaDrm.restoreKeys(Native Method)
ExoPlayerImplInternal: at m.c.b.b.m1.t.a(FrameworkMediaDrm.java:83)
ExoPlayerImplInternal: at com.google.android.exoplayer2.drm.DefaultDrmSession.h(DefaultDrmSession.java:1)
Version of ExoPlayer being used: 2.12.1
A full bug report captured from the device
I sent it to dev.exoplayer@gmail.com.
About this issue
- Original URL
- State: open
- Created 3 years ago
- Comments: 19
Thanks @nbennink, we were able to reproduce with the apk you shared. We are investigating with Qualcomm.