question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

ERROR_DRM_GENERIC_PLUGIN occurs when playing video

See original GitHub issue

■ Question When I try to play Widevine DASH (L1) on OnePlus 10T 5G, I get ERROR_DRM_GENERIC_PLUGIN. I believe that this is caused by the fact that L1 is not available on the OnePlus 10T 5G. Is my understanding correct?

Non-fatal Exception: com.google.android.exoplayer2.ExoPlaybackException: Unexpected runtime error
       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:612)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loopOnce(Looper.java:238)
       at android.os.Looper.loop(Looper.java:349)
       at android.os.HandlerThread.run(HandlerThread.java:67)

Caused by android.media.MediaDrm$MediaDrmStateException: Failed to get provision request: ERROR_DRM_GENERIC_PLUGIN
============================== Beginning of DRM Plugin Log ==============================
  10-31 11:09:06.253 I found instance=clearkey version=android.hardware.drm@1.4::IDrmFactory
  10-31 11:09:06.253 I found instance=wfdhdcp version=android.hardware.drm@1.3::IDrmFactory
  10-31 11:09:06.253 I found instance=widevine version=android.hardware.drm@1.4::IDrmFactory
  10-31 11:09:06.623 I [oemcrypto_adapter_dynamic.cpp(834):Initialize] Level 3 Build Info (v16): OEMCrypto Level3 Code 22594 May 28 2021 16:59:07
  10-31 11:09:06.624 I [(0):] Level3 Library 22594 May 28 2021 16:59:07
  10-31 11:09:06.628 I [oemcrypto_adapter_dynamic.cpp(848):Initialize] L3 Initialized. Trying L1.
  10-31 11:09:06.698 W [oemcrypto_adapter_dynamic.cpp(1042):LoadLevel1] Could not load L1 _oecc109.
  10-31 11:09:06.698 W [oemcrypto_adapter_dynamic.cpp(1043):LoadLevel1] Could not load L1 _oecc110.
  10-31 11:09:06.698 W [oemcrypto_adapter_dynamic.cpp(1047):LoadLevel1] Could not load L1 _oecc113.
  10-31 11:09:06.698 W [oemcrypto_adapter_dynamic.cpp(1048):LoadLevel1] Could not load L1 _oecc114.
  10-31 11:09:06.698 I [oemcrypto_adapter_dynamic.cpp(870):Initialize] Level 1 Build Info (v16): Build Information: API_Version: 16.4 LibOEMCrypto_Version: 1.55 TA_Version: 1.103
  10-31 11:09:06.701 I [usage_table_header.cpp(204):RestoreTable] Found usage table to restore: entry_count = 0
  10-31 11:09:06.757 I [cdm_engine.cpp(967):GetProvisioningRequest] cert_type = Widevine
  10-31 11:09:06.773 E [content_key_session.cpp(33):GenerateDerivedKeys] OEMCrypto_GenerateDerivedKeys failed: status = 25
  10-31 11:09:06.773 E [crypto_session.cpp(109):MapOEMCryptoResult] Mapping OEMCrypto result: crypto_session_method = GenerateDerivedKeys, result = 25
  10-31 11:09:06.773 E [certificate_provisioning.cpp(248):GetProvisioningRequestInternal] Failed to prepare provisioning request: status = 342
============================== End of DRM Plugin Log ==============================
       at android.media.MediaDrm.getProvisionRequestNative(MediaDrm.java)
       at android.media.MediaDrm.getProvisionRequest(MediaDrm.java:1742)
       at com.google.android.exoplayer2.drm.FrameworkMediaDrm.getProvisionRequest(FrameworkMediaDrm.java:237)
       at com.google.android.exoplayer2.drm.DefaultDrmSession.provision(DefaultDrmSession.java:228)
       at com.google.android.exoplayer2.drm.DefaultDrmSessionManager$ProvisioningManagerImpl.provisionRequired(DefaultDrmSessionManager.java:867)
       at com.google.android.exoplayer2.drm.DefaultDrmSession.openInternal(DefaultDrmSession.java:381)
       at com.google.android.exoplayer2.drm.DefaultDrmSession.acquire(DefaultDrmSession.java:311)
       at com.google.android.exoplayer2.drm.DefaultDrmSessionManager.createAndAcquireSession(DefaultDrmSessionManager.java:782)
       at com.google.android.exoplayer2.drm.DefaultDrmSessionManager.createAndAcquireSessionWithRetry(DefaultDrmSessionManager.java:683)
       at com.google.android.exoplayer2.drm.DefaultDrmSessionManager.acquireSession(DefaultDrmSessionManager.java:565)
       at com.google.android.exoplayer2.drm.DefaultDrmSessionManager.acquireSession(DefaultDrmSessionManager.java:511)
       at com.google.android.exoplayer2.source.SampleQueue.onFormatResult(SampleQueue.java:917)
       at com.google.android.exoplayer2.source.SampleQueue.peekSampleMetadata(SampleQueue.java:686)
       at com.google.android.exoplayer2.source.SampleQueue.read(SampleQueue.java:412)
       at com.google.android.exoplayer2.source.chunk.ChunkSampleStream.readData(ChunkSampleStream.java:397)
       at com.google.android.exoplayer2.BaseRenderer.readSource(BaseRenderer.java:406)
       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:934)
       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:765)
       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.loopOnce(Looper.java:238)
       at android.os.Looper.loop(Looper.java:349)
       at android.os.HandlerThread.run(HandlerThread.java:67)

ExoPlayer version used:2.16.1 Device:OnePlus 10T 5G Android version:12

Issue Analytics

  • State:open
  • Created a year ago
  • Comments:8

github_iconTop GitHub Comments

1reaction
rrfriascommented, Nov 30, 2022

Thanks for the app. I have shared this information with OnePlus and am waiting on them to try and reproduce.

0reactions
ogawa-macommented, Nov 22, 2022

@rrfrias Sorry I made you wait. I have sent the app to dev.exoplayer@gmail.com.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to Play Netflix on Firefox in Linux - It's FOSS
Step 1: Enable DRM ... Open Firefox, click on the Hamburger menu and click Settings. ... In the settings, search for Digital Rights...
Read more >
Fixing DRM support and iGPU performance - Dortania
DRM is broken for iGPU-only systems ... 10.15 and newer, AppleGVA debugging is disabled by default, if you get a generic error while...
Read more >
How to Fix "Protected Content License Error" on Roku?
Protected license error means that the app in use like Disney+ “thinks” the media being played is DRM-protected media and anything in your ......
Read more >
Downloading DRM protected video and decrypt with a known ...
The key is correct and it decrypts the stream. ffmpeg and streamlink successfully downloaded the file. No they didn't. That's where the error...
Read more >
DRM | Android Open Source Project
This document provides an overview of the Android digital rights management (DRM) framework and introduces the interfaces that a DRM plugin ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found