media icon indicating copy to clipboard operation
media copied to clipboard

MediaDrmStateException in FrameworkMediaDrm.getKeyRequest during OfflineLicenseHelper.renewLicense call of ExoPlayer

Open rdutta2020 opened this issue 1 year ago • 4 comments

We are calling "offlineLicenseHelper.renewLicense" and passing "offlineLicenseKeySetId" same as we got during "downloadLicense" response. Getting the below error: (HLS content):: android.media.MediaDrm$MediaDrmStateException: Failed to get key request: General DRM error at android.media.MediaDrm.getKeyRequest(Native Method) at com.google.android.exoplayer2.drm.FrameworkMediaDrm.getKeyRequest(FrameworkMediaDrm.java:199) at com.google.android.exoplayer2.drm.DefaultDrmSession.postKeyRequest(DefaultDrmSession.java:468) at com.google.android.exoplayer2.drm.DefaultDrmSession.doLicense(DefaultDrmSession.java:433) at com.google.android.exoplayer2.drm.DefaultDrmSession.acquire(DefaultDrmSession.java:303) at com.google.android.exoplayer2.drm.DefaultDrmSessionManager.createAndAcquireSession(DefaultDrmSessionManager.java:785) at com.google.android.exoplayer2.drm.DefaultDrmSessionManager.createAndAcquireSessionWithRetry(DefaultDrmSessionManager.java:686) 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.drm.OfflineLicenseHelper.openBlockingKeyRequest(OfflineLicenseHelper.java:284) at com.google.android.exoplayer2.drm.OfflineLicenseHelper.blockingKeyRequest(OfflineLicenseHelper.java:267) at com.google.android.exoplayer2.drm.OfflineLicenseHelper.renewLicense(OfflineLicenseHelper.java:207)

Please help.

rdutta2020 avatar Aug 08 '24 14:08 rdutta2020

Please take an adb bugreport shortly after seeing this error and send it to [email protected] with the subject Issue #1604. Please also update this issue to indicate you’ve done this.

icbaker avatar Aug 08 '24 15:08 icbaker

email sent with bugreport, same error as mentioned above

08-09 13:00:12.134 10398 32724 32724 E MediaDrm-JNI: Illegal state exception: Failed to get key request: General DRM error (-2000) 08-09 13:00:12.137 10398 32724 32724 E DefaultDrmSession: DRM session error 08-09 13:00:12.137 10398 32724 32724 E DefaultDrmSession: android.media.MediaDrm$MediaDrmStateException: Failed to get key request: General DRM error 08-09 13:00:12.137 10398 32724 32724 E DefaultDrmSession: at android.media.MediaDrm.getKeyRequest(Native Method) 08-09 13:00:12.137 10398 32724 32724 E DefaultDrmSession: at com.google.android.exoplayer2.drm.FrameworkMediaDrm.getKeyRequest(FrameworkMediaDrm.java:199) 08-09 13:00:12.137 10398 32724 32724 E DefaultDrmSession: at com.google.android.exoplayer2.drm.DefaultDrmSession.postKeyRequest(DefaultDrmSession.java:468) 08-09 13:00:12.137 10398 32724 32724 E DefaultDrmSession: at com.google.android.exoplayer2.drm.DefaultDrmSession.doLicense(DefaultDrmSession.java:433) 08-09 13:00:12.137 10398 32724 32724 E DefaultDrmSession: at com.google.android.exoplayer2.drm.DefaultDrmSession.acquire(DefaultDrmSession.java:303) 08-09 13:00:12.137 10398 32724 32724 E DefaultDrmSession: at com.google.android.exoplayer2.drm.DefaultDrmSessionManager.createAndAcquireSession(DefaultDrmSessionManager.java:785) 08-09 13:00:12.137 10398 32724 32724 E DefaultDrmSession: at com.google.android.exoplayer2.drm.DefaultDrmSessionManager.createAndAcquireSessionWithRetry(DefaultDrmSessionManager.java:686) 08-09 13:00:12.137 10398 32724 32724 E DefaultDrmSession: at com.google.android.exoplayer2.drm.DefaultDrmSessionManager.acquireSession(DefaultDrmSessionManager.java:565) 08-09 13:00:12.137 10398 32724 32724 E DefaultDrmSession: at com.google.android.exoplayer2.drm.DefaultDrmSessionManager.acquireSession(DefaultDrmSessionManager.java:511) 08-09 13:00:12.137 10398 32724 32724 E DefaultDrmSession: at com.google.android.exoplayer2.drm.OfflineLicenseHelper.openBlockingKeyRequest(OfflineLicenseHelper.java:284) 08-09 13:00:12.137 10398 32724 32724 E DefaultDrmSession: at com.google.android.exoplayer2.drm.OfflineLicenseHelper.blockingKeyRequest(OfflineLicenseHelper.java:267) 08-09 13:00:12.137 10398 32724 32724 E DefaultDrmSession: at com.google.android.exoplayer2.drm.OfflineLicenseHelper.renewLicense(OfflineLicenseHelper.java:207)

rdutta2020 avatar Aug 09 '24 07:08 rdutta2020

@rrfrias Looks like a WV error in the BR just before the quoted stack trace:

08-09 13:00:11.995 media  5375 26279 D WVCdm   : Instantiating CDM.
08-09 13:00:11.999 media  5375 26279 I WVCdm   : [cdm_engine.cpp(529):QueryStatus] CdmEngine::QueryStatus
08-09 13:00:11.999 media  5375 26279 I WVCdm   : [oemcrypto_adapter_dynamic.cpp(636):Initialize] Level 3 Build Info (v15): OEMCrypto Level3 Code 8158 Apr 18 2019 19:27:36
08-09 13:00:11.999 media  5375   587 I WVCdm   : [(0):] Level3 Library 8158 Apr 18 2019 19:27:36
08-09 13:00:12.010 media  5375 26279 I WVCdm   : [oemcrypto_adapter_dynamic.cpp(650):Initialize] L3 Initialized. Trying L1.
08-09 13:00:12.043 media  5375 26279 D WVCdm   : [oemcrypto_adapter_dynamic.cpp(669):Initialize] OEMCrypto_Initialize Level 1 success. I will use level 1.
08-09 13:00:12.043 media  5375 26279 I WVCdm   : [oemcrypto_adapter_dynamic.cpp(672):Initialize] Level 1 Build Info (v15):  LSI OEMCrypto v15.2 Dec  4 2019 13:44:48
08-09 13:00:12.043 media  5375 26279 D WVCdm   : [crypto_session.cpp(646):Open] CryptoSession::Open: requested_security_level: Default
08-09 13:00:12.043 media  5375 26279 E wv_dash : Add session list sid(1) index(0)
08-09 13:00:12.044 media  5375 26279 I WVCdm   : [usage_table_header.cpp(38):Init] UsageTableHeader::Init: security level: 1
08-09 13:00:12.047 media  5375 26279 I WVCdm   : [usage_table_header.cpp(70):Init] UsageTableHeader::Init: number of usage entries: 0
08-09 13:00:12.050 media  5375 26279 E wv_dash : OEMCrypto_GetDeviceID(): short buffer
08-09 13:00:12.057 media  5375 26279 I WVCdm   : [(0):] L3 Terminate.
08-09 13:00:12.062 media  5375 26279 I WVCdm   : [cdm_engine.cpp(116):OpenSession] CdmEngine::OpenSession
08-09 13:00:12.062 media  5375 26279 I WVCdm   : [oemcrypto_adapter_dynamic.cpp(636):Initialize] Level 3 Build Info (v15): OEMCrypto Level3 Code 8158 Apr 18 2019 19:27:36
08-09 13:00:12.062 media  5375   588 I WVCdm   : [(0):] Level3 Library 8158 Apr 18 2019 19:27:36
08-09 13:00:12.070 media  5375 26279 I WVCdm   : [oemcrypto_adapter_dynamic.cpp(650):Initialize] L3 Initialized. Trying L1.
08-09 13:00:12.102  1002  6513  6681 D BtGatt.GattService: onScanResult to scannerId: 11- eventType=0x1a, addressType=0, address=91:4, primaryPhy=1, secondaryPhy=0, advertisingSid=0xff, txPower=127, rssi=-92, periodicAdvInt=0x0
08-09 13:00:12.110 media  5375 26279 D WVCdm   : [oemcrypto_adapter_dynamic.cpp(669):Initialize] OEMCrypto_Initialize Level 1 success. I will use level 1.
08-09 13:00:12.110 media  5375 26279 I WVCdm   : [oemcrypto_adapter_dynamic.cpp(672):Initialize] Level 1 Build Info (v15):  LSI OEMCrypto v15.2 Dec  4 2019 13:44:48
08-09 13:00:12.110 media  5375 26279 D WVCdm   : [crypto_session.cpp(646):Open] CryptoSession::Open: requested_security_level: Default
08-09 13:00:12.110 media  5375 26279 E wv_dash : Add session list sid(1) index(0)
08-09 13:00:12.110 media  5375 26279 I WVCdm   : [usage_table_header.cpp(38):Init] UsageTableHeader::Init: security level: 1
08-09 13:00:12.112 media  5375 26279 I WVCdm   : [usage_table_header.cpp(70):Init] UsageTableHeader::Init: number of usage entries: 0
08-09 13:00:12.116 media  5375 26279 I WVCdm   : [device_files.cpp(154):ExtractDeviceInfo] ExtractDeviceInfo Entry
08-09 13:00:12.118 media  5375 26279 I WVCdm   : [cdm_engine.cpp(153):OpenSession] CdmEngine::OpenSession: sid38
08-09 13:00:12.118 media  5375 26279 I WVCdm   : [cdm_engine.cpp(829):QueryOemCryptoSessionId] CdmEngine::QueryOemCryptoSessionId: sid38
08-09 13:00:12.119 media  5375 26279 I WVCdm   : [cdm_engine.cpp(409):RestoreKey] CdmEngine::RestoreKey: session ID: sid38, key set ID: ksid24494C36
08-09 13:00:12.134 media  5375 26279 I WVCdm   : [cdm_engine.cpp(529):QueryStatus] CdmEngine::QueryStatus
08-09 13:00:12.134 media  5375 26279 I WVCdm   : [cdm_engine.cpp(240):GenerateKeyRequest] CdmEngine::GenerateKeyRequest: sid38
08-09 13:00:12.134 media  5375 26279 E WVCdm   : [license.cpp(392):PrepareKeyUpdateRequest] CdmLicense::PrepareKeyUpdateRequest: license renewal prohibited
08-09 13:00:12.134 media  5375 26279 E WVCdm   : [cdm_engine.cpp(311):GenerateKeyRequest] CdmEngine::GenerateKeyRequest: key request generation failed, sts = 167
08-09 13:00:12.134 media  5375 26279 W WVCdm   : Returns UNKNOWN error for legacy status: 167
08-09 13:00:12.134 media  5375 26279 W WVCdm   : Returns UNKNOWN error for legacy status: 167

icbaker avatar Aug 09 '24 09:08 icbaker

The license policy has a flag set that disallows renewal. If you or your license provider is a widevine licensee you might want to reach out for support to make sure your licenses are correctly configured: https://widevine.com/contact

rrfrias avatar Aug 19 '24 05:08 rrfrias

Hey @rdutta2020. We need more information to resolve this issue but there hasn't been an update in 14 weekdays. I'm marking the issue as stale and if there are no new updates in the next 7 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

google-oss-bot avatar Sep 06 '24 01:09 google-oss-bot

Since there haven't been any recent updates here, I am going to close this issue.

@rdutta2020 if you're still experiencing this problem and want to continue the discussion just leave a comment here and we are happy to re-open this.

google-oss-bot avatar Sep 17 '24 01:09 google-oss-bot