ExoPlayer icon indicating copy to clipboard operation
ExoPlayer copied to clipboard

DRM session error java.lang.IllegalArgumentException: {}: BAD_VALUE

Open bartmejia18 opened this issue 1 year ago • 1 comments

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.

bartmejia18 avatar Mar 04 '24 21:03 bartmejia18

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`

bartmejia18 avatar Mar 04 '24 21:03 bartmejia18

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.

tianyif avatar Mar 05 '24 11:03 tianyif