Skip to content

MediaDrmStateException occurs during download and streaming playback. #8691

@KazukiSugiyama107

Description

@KazukiSugiyama107

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.

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions