3

I am trying to implement Android app for playing widevine-protected video. I build my application on Exoplayer and I have issue with MediaDrm.

android.media.MediaDrm$MediaDrmStateException: Failed to get key request: DRM vendor-defined error: -2998
            at android.media.MediaDrm.getKeyRequest(Native Method)
            at com.google.android.exoplayer.drm.StreamingDrmSessionManager.postKeyRequest(StreamingDrmSessionManager.java:370)
            at com.google.android.exoplayer.drm.StreamingDrmSessionManager.openInternal(StreamingDrmSessionManager.java:314)
            at com.google.android.exoplayer.drm.StreamingDrmSessionManager.open(StreamingDrmSessionManager.java:284)
            at com.google.android.exoplayer.MediaCodecTrackRenderer.maybeInitCodec(MediaCodecTrackRenderer.java:325)
            at com.google.android.exoplayer.MediaCodecTrackRenderer.onInputFormatChanged(MediaCodecTrackRenderer.java:739)
            at com.google.android.exoplayer.MediaCodecTrackRenderer.readFormat(MediaCodecTrackRenderer.java:511)
            at com.google.android.exoplayer.MediaCodecTrackRenderer.doSomeWork(MediaCodecTrackRenderer.java:492)
            at com.google.android.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:417)
            at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:205)

I have this exception. I found that this exception is thrown at this line of code:

keyRequest = mediaDrm.getKeyRequest(sessionId, schemeData, mimeType, MediaDrm.KEY_TYPE_STREAMING, params);

All parameters of method are set correctly, but calling of this method fails and thrown exception above.

Do you know how can I solve it? Thanks for any help.

PetrS
  • 1,110
  • 14
  • 38

1 Answers1

1

I finally solved it. The problem was with device, which I was using for testing. This device is Samsung Galaxy S4 with Android 5.0.1. When I tried my code on different device (Nexus 5, some Samsung tablet, etc.), it worked fine. So probably there is some bug or missing support of Widevine Modular in Galaxy S4.

PetrS
  • 1,110
  • 14
  • 38