ExoPlayer
ExoPlayer copied to clipboard
DRM session error java.lang.IllegalArgumentException: {}: BAD_VALUE
This project is deprecated
- [X] I understand this project is deprecated, that I should file my issue in the Media3 issue tracker instead of here, and this issue will be closed with no response.
Hi! My problem occurs when trying to play content on devices with Android 13, playback works correctly on devices with Android version 12, 8, 9.
I used physical devices such as google pixel 6 pro and I also tested with emulators and the result was the same, I was only able to reproduce on Android 12 or earlier
The version of Exoplayer I am using is 2.18.2
`Caused by: com.google.android.exoplayer2.drm.DrmSession$DrmSessionException: java.lang.IllegalArgumentException: {}: BAD_VALUE
cdm err: 0, oem err: 0, ctx: 0
============================== Beginning of DRM Plugin Log ==============================
02-29 12:44:50.237 I [(0):] Level3 Library 28613 May 1 2023 06:32:58
02-29 12:44:50.237 I [oemcrypto_adapter_dynamic.cpp(837):Initialize] Level 3 Build Info (v18): {"soc_vendor":"L3_28613","soc_model":"ARM 64 bit","ta_ver":"18.1.0+May 1 2023_06:32:58_","uses_opk":false,"tee_os":"none","tee_os_ver":"0.0.0","form_factor":"L3","implementer":"Widevine","fused":false}
02-29 12:44:50.239 I [oemcrypto_adapter_dynamic.cpp(851):Initialize] L3 Initialized. Trying L1.
02-29 12:44:50.249 W [oemcrypto_adapter_dynamic.cpp(1013):LoadLevel1] Could not load L1 _oecc90.
02-29 12:44:50.249 W [oemcrypto_adapter_dynamic.cpp(1021):LoadLevel1] Could not load L1 _oecc06.
02-29 12:44:50.249 W [oemcrypto_adapter_dynamic.cpp(1039):LoadLevel1] Could not load L1 _oecc23.
02-29 12:44:50.251 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 12:44:50.251 I [oemcrypto_adapter_dynamic.cpp(885):Initialize] Level 1 Build Info (v18): {"soc_vendor":"GOOGLE","soc_model":"GS101","ta_ver":"18.1.0+Sep 18 202304:20:14","uses_opk":true,"tee_os":"TRUSTY","tee_os_ver":"0_0","form_factor":"PHONE+TABLET","implementer":"WIDEVINE","fused":true}
02-29 12:44:50.253 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 12:44:51.750 I [cdm_usage_table.cpp(203):RestoreTable] Found usage table to restore: entry_count = 0
02-29 12:44:51.763 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 12:44:51.773 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 12:44:51.774 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 12:44:51.774 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 12:44:51.776 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 12:44:51.776 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 12:44:51.778 I [cdm_engine.cpp(1032):QueryOemCryptoSessionId] session_id = sid54
02-29 12:44:51.778 I [cdm_engine.cpp(216):OpenSession] New session: session_id = sid54
02-29 12:44:51.779 I [cdm_engine.cpp(937):QuerySessionStatus] session_id = sid54
02-29 12:44:51.784 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 12:44:51.784 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 12:44:51.784 I [cdm_engine.cpp(303):GenerateKeyRequest] session_id = sid54, key_set_id = <empty>, license_type = Streaming
02-29 12:44:51.843 I [cdm_engine.cpp(1043):IsSecurityLevelSupported] level = L1
02-29 12:44:51.846 I [cdm_engine.cpp(937):QuerySessionStatus] session_id = sid54
02-29 12:44:52.044 I [cdm_engine.cpp(382):AddKey] session_id = sid54, key_set_id = <empty>
02-29 12:44:52.307 I [cdm_engine.cpp(1043):IsSecurityLevelSupported] level = L1
02-29 12:44:55.988 I [cdm_engine.cpp(261):CloseSession] session_id = sid54
02-29 12:44:55.996 I [oemcrypto_adapter_dynamic.cpp(897):Level1Terminate] L1 Terminate
02-29 12:44:55.996 I [(0):] L3 Terminate.
02-29 13:41:00.861 I [oemcrypto_adapter_dynamic.cpp(837):Initialize] Level 3 Build Info (v18): {"soc_vendor":"L3_28613","soc_model":"ARM 64 bit","ta_ver":"18.1.0+May 1 2023_06:32:58_","uses_opk":false,"tee_os":"none","tee_os_ver":"0.0.0","form_factor":"L3","implementer":"Widevine","fused":false}
02-29 13:41:00.861 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 13:41:00.861 I [(0):] Level3 Library 28613 May 1 2023 06:32:58
02-29 13:41:00.868 I [oemcrypto_adapter_dynamic.cpp(851):Initialize] L3 Initialized. Trying L1.
02-29 13:41:00.880 W [oemcrypto_adapter_dynamic.cpp(1021):LoadLevel1] Could not load L1 _oecc06.
02-29 13:41:00.880 W [oemcrypto_adapter_dynamic.cpp(1039):LoadLevel1] Could not load L1 _oecc23.
02-29 13:41:00.880 W [oemcrypto_adapter_dynamic.cpp(1013):LoadLevel1] Could not load L1 _oecc90.
02-29 13:41:00.887 I [oemcrypto_adapter_dynamic.cpp(885):Initialize] Level 1 Build Info (v18): {"soc_vendor":"GOOGLE","soc_model":"GS101","ta_ver":"18.1.0+Sep 18 202304:20:14","uses_opk":true,"tee_os":"TRUSTY","tee_os_ver":"0_0","form_factor":"PHONE+TABLET","implementer":"WIDEVINE","fused":true}
02-29 13:41:00.889 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 13:41:00.890 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 13:41:00.896 I [cdm_usage_table.cpp(203):RestoreTable] Found usage table to restore: entry_count = 0
02-29 13:41:00.903 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 13:41:00.906 E [wv_content_decryption_module.cpp(556):GetCurrentMetricsInternal] Cdm Identifier not found
02-29 13:41:00.909 E [wv_content_decryption_module.cpp(639):CloseCdm] Cdm Identifier not found
02-29 13:41:00.913 I [(0):] L3 Terminate.
02-29 13:41:00.913 I [oemcrypto_adapter_dynamic.cpp(897):Level1Terminate] L1 Terminate
02-29 14:33:36.623 I [oemcrypto_adapter_dynamic.cpp(837):Initialize] Level 3 Build Info (v18): {"soc_vendor":"L3_28613","soc_model":"ARM 64 bit","ta_ver":"18.1.0+May 1 2023_06:32:58_","uses_opk":false,"tee_os":"none","tee_os_ver":"0.0.0","form_factor":"L3","implementer":"Widevine","fused":false}
02-29 14:33:36.623 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:33:36.624 I [(0):] Level3 Library 28613 May 1 2023 06:32:58
02-29 14:33:36.632 I [oemcrypto_adapter_dynamic.cpp(851):Initialize] L3 Initialized. Trying L1.
02-29 14:33:36.641 W [oemcrypto_adapter_dynamic.cpp(1013):LoadLevel1] Could not load L1 _oecc90.
02-29 14:33:36.641 W [oemcrypto_adapter_dynamic.cpp(1021):LoadLevel1] Could not load L1 _oecc06.
02-29 14:33:36.642 W [oemcrypto_adapter_dynamic.cpp(1039):LoadLevel1] Could not load L1 _oecc23.
02-29 14:33:36.645 I [oemcrypto_adapter_dynamic.cpp(885):Initialize] Level 1 Build Info (v18): {"soc_vendor":"GOOGLE","soc_model":"GS101","ta_ver":"18.1.0+Sep 18 202304:20:14","uses_opk":true,"tee_os":"TRUSTY","tee_os_ver":"0_0","form_factor":"PHONE+TABLET","implementer":"WIDEVINE","fused":true}
02-29 14:33:36.648 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:33:36.648 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:33:36.656 I [cdm_usage_table.cpp(203):RestoreTable] Found usage table to restore: entry_count = 0
02-29 14:33:36.662 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:33:36.664 E [wv_content_decryption_module.cpp(556):GetCurrentMetricsInternal] Cdm Identifier not found
02-29 14:33:36.668 E [wv_content_decryption_module.cpp(639):CloseCdm] Cdm Identifier not found
02-29 14:33:36.677 I [(0):] L3 Terminate.
02-29 14:33:36.677 I [oemcrypto_adapter_dynamic.cpp(897):Level1Terminate] L1 Terminate
02-29 14:46:14.436 I No hidl drm factories found
02-29 14:46:14.437 E Failed to find passthrough drm factories
02-29 14:46:14.441 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:46:14.441 I [oemcrypto_adapter_dynamic.cpp(837):Initialize] Level 3 Build Info (v18): {"soc_vendor":"L3_28613","soc_model":"ARM 64 bit","ta_ver":"18.1.0+May 1 2023_06:32:58_","uses_opk":false,"tee_os":"none","tee_os_ver":"0.0.0","form_factor":"L3","implementer":"Widevine","fused":false}
02-29 14:46:14.442 I [(0):] Level3 Library 28613 May 1 2023 06:32:58
02-29 14:46:14.443 I [oemcrypto_adapter_dynamic.cpp(851):Initialize] L3 Initialized. Trying L1.
02-29 14:46:14.458 W [oemcrypto_adapter_dynamic.cpp(1013):LoadLevel1] Could not load L1 _oecc90.
02-29 14:46:14.458 W [oemcrypto_adapter_dynamic.cpp(1021):LoadLevel1] Could not load L1 _oecc06.
02-29 14:46:14.458 W [oemcrypto_adapter_dynamic.cpp(1039):LoadLevel1] Could not load L1 _oecc23.
02-29 14:46:14.464 I [oemcrypto_adapter_dynamic.cpp(885):Initialize] Level 1 Build Info (v18): {"soc_vendor":"GOOGLE","soc_model":"GS101","ta_ver":"18.1.0+Sep 18 202304:20:14","uses_opk":true,"tee_os":"TRUSTY","tee_os_ver":"0_0","form_factor":"PHONE+TABLET","implementer":"WIDEVINE","fused":true}
02-29 14:46:14.465 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:46:14.465 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:46:16.452 I [cdm_usage_table.cpp(203):RestoreTable] Found usage table to restore: entry_count = 0
02-29 14:46:16.462 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:46:16.473 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:46:16.474 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:46:16.474 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:46:16.477 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:46:16.478 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:46:16.479 I [cdm_engine.cpp(216):OpenSession] New session: session_id = sid55
02-29 14:46:16.479 I [cdm_engine.cpp(1032):QueryOemCryptoSessionId] session_id = sid55
02-29 14:46:16.482 I [cdm_engine.cpp(937):QuerySessionStatus] session_id = sid55
02-29 14:46:16.483 I [cdm_engine.cpp(2218):SetPlaybackId] session_id = sid55, playback_id = mtHZnGZ3Qp4ZFN3W
02-29 14:46:16.499 I [cdm_engine.cpp(303):GenerateKeyRequest] session_id = sid55, key_set_id = <empty>, license_type = Streaming
02-29 14:46:16.499 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:46:16.499 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:46:16.558 I [cdm_engine.cpp(1043):IsSecurityLevelSupported] level = L1
02-29 14:46:16.771 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:46:16.772 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:46:16.772 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:46:16.773 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:46:16.774 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:46:16.775 I [cdm_engine.cpp(216):OpenSession] New session: session_id = sid56
02-29 14:46:16.775 I [cdm_engine.cpp(1032):QueryOemCryptoSessionId] session_id = sid56
02-29 14:46:16.776 I [cdm_engine.cpp(937):QuerySessionStatus] session_id = sid56
02-29 14:46:16.777 I [cdm_engine.cpp(2218):SetPlaybackId] session_id = sid56, playback_id = mtHZnGZ3Qp4ZFN3W
02-29 14:46:16.779 I [cdm_engine.cpp(303):GenerateKeyRequest] session_id = sid56, key_set_id = <empty>, license_type = Streaming
02-29 14:46:16.779 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:46:16.779 I [file_utils.cpp(38):Exists] stat failed: ENOENT
02-29 14:46:16.824 I [cdm_engine.cpp(1043):IsSecurityLevelSupported] level = L1
02-29 14:46:16.826 I [cdm_engine.cpp(937):QuerySessionStatus] session_id = sid56
============================== End of DRM Plugin Log ==============================
at com.google.android.exoplayer2.drm.DefaultDrmSession.onError(DefaultDrmSession.java:544)
at com.google.android.exoplayer2.drm.DefaultDrmSession.onKeysError(DefaultDrmSession.java:534)
at com.google.android.exoplayer2.drm.DefaultDrmSession.onKeyResponse(DefaultDrmSession.java:519)
at com.google.android.exoplayer2.drm.DefaultDrmSession.access$100(DefaultDrmSession.java:61)
at com.google.android.exoplayer2.drm.DefaultDrmSession$ResponseHandler.handleMessage(DefaultDrmSession.java:584)
at android.os.Handler.dispatchMessage(Handler.java:106)
... 3 more`
Hi @bartmejia18, this project has been deprecated, now the ExoPlayer is at media3 repo.
If possible, we highly recommend you to migrate to media3 and use the latest version to see if your issue still persists, we have a very detailed migration guide. If you have to continue using ExoPlayer repo, could you please upgrade to the latest ExoPlayer version (2.19.1), and if the issue is still there, file a bug in media3. The media3 1.1.1 corresponds to ExoPlayer 2.19.1.