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:
- Created a year ago
- Comments:8
Top 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 >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Thanks for the app. I have shared this information with OnePlus and am waiting on them to try and reproduce.
@rrfrias Sorry I made you wait. I have sent the app to
dev.exoplayer@gmail.com.