media icon indicating copy to clipboard operation
media copied to clipboard

DRM Initialization Failure on SW32BUD4K Device Running Android 13 with Media3ExoPlayer

Open ShrikantSonawane opened this issue 11 months ago • 26 comments

Version

Media3 1.3.1

More version details

No response

Devices that reproduce the issue

  • Swosh Bud 4k (Device Model: SW32BUD4K, OS Version: Android 13, Player Version: Media3ExoPlayer-1.3.1)

Devices that do not reproduce the issue

No response

Reproducible in the demo app?

No

Reproduction steps

  • Attempting to play any secure test stream.

Expected result

  • The media plays successfully

Actual result

DRM-protected content fails to play on the SW32BUD4K device using Media3ExoPlayer, resulting in a DrmSessionException error. - error.message: Unexpected runtime error error.trace: androidx.media3.exoplayer.ExoPlaybackException: Unexpected runtime error at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(:701) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.os.HandlerThread.run(HandlerThread.java:67) Caused by: android.media.MediaCodec$CryptoException: ERROR_DRM_UNKNOWN: ERROR_DRM_UNKNOWN ============================== Beginning of DRM Plugin Log ============================== 12-18 21:24:27.487 I No hidl drm factories found 12-18 21:24:27.487 E Failed to find passthrough drm factories 12-18 21:24:27.495 I No hidl drm factories found 12-18 21:24:27.495 E Failed to find passthrough drm factories 12-18 21:25:28.431 I No hidl drm factories found 12-18 21:25:28.431 E Failed to find passthrough drm factories 12-18 21:25:51.999 I No hidl drm factories found 12-18 21:25:52.000 E Failed to find passthrough drm factories 12-18 21:26:14.660 I No hidl drm factories found 12-18 21:26:14.661 E Failed to find passthrough drm factories 12-18 21:27:17.496 I No hidl drm factories found 12-18 21:27:17.496 E Failed to find passthrough drm factories 12-18 21:27:31.788 I No hidl drm factories found 12-18 21:27:31.789 E Failed to find passthrough drm factories 12-18 21:28:47.135 I No hidl drm factories found 12-18 21:28:47.136 E Failed to find passthrough drm factories 12-18 21:28:47.908 I No hidl drm factories found 12-18 21:28:47.908 E Failed to find passthrough drm factories 12-18 21:28:47.912 I No hidl drm factories found 12-18 21:28:47.913 E Failed to find passthrough drm factories 12-18 21:28:50.368 I No hidl drm factories found 12-18 21:28:50.368 E Failed to find passthrough drm factories 12-18 21:28:50.369 I No hidl drm factories found 12-18 21:28:50.370 E Failed to find passthrough drm factories 12-18 21:28:51.825 I No hidl drm factories found 12-18 21:28:51.828 E Failed to find passthrough drm factories 12-18 21:28:51.834 I No hidl drm factories found 12-18 21:28:51.834 E Failed to find passthrough drm factories 12-18 21:28:53.670 I No hidl drm factories found 12-18 21:28:53.670 E Failed to find passthrough drm factories 12-18 21:28:53.676 I No hidl drm factories found 12-18 21:28:53.677 E Failed to find passthrough drm factories 12-18 21:28:55.114 I No hidl drm factories found 12-18 21:28:55.114 E Failed to find passthrough drm factories 12-18 21:28:55.116 I No hidl drm factories found 12-18 21:28:55.117 E Failed to find passthrough drm factories 12-18 21:28:56.713 I No hidl drm factories found 12-18 21:28:56.714 E Failed to find passthrough drm factories 12-18 21:28:56.719 I No hidl drm factories found 12-18 21:28:56.724 E Failed to find passthrough drm factories 12-18 21:29:26.046 I No hidl drm factories found 12-18 21:29:26.046 E Failed to find passthrough drm factories 12-18 21:29:40.913 I No hidl drm factories found 12-18 21:29:40.913 E Failed to find passthrough drm factories 12-18 21:30:27.898 I No hidl drm factories found 12-18 21:30:27.899 E Failed to find passthrough drm factories 12-18 21:30:27.949 I No hidl drm factories found 12-18 21:30:27.949 E Failed to find passthrough drm factories 12-18 21:30:27.952 I No hidl drm factories found 12-18 21:30:27.952 E Failed to find passthrough drm factories 12-18 21:30:29.989 I No hidl drm factories found 12-18 21:30:29.992 E Failed to find passthrough drm factories 12-18 21:30:29.999 I No hidl drm factories found 12-18 21:30:30.000 E Failed to find passthrough drm factories 12-18 21:30:30.281 I No hidl drm factories found 12-18 21:30:30.281 E Failed to find passthrough drm factories 12-18 21:30:30.284 I No hidl drm factories found 12-18 21:30:30.285 E Failed to find passthrough drm factories 12-18 21:30:30.310 I [file_utils.cpp(38):Exists] stat failed: ENOENT 12-18 21:30:30.726 I [usage_table_header.cpp(203):RestoreTable] Found usage table to restore: entry_count = 0 12-18 21:30:30.736 I [file_utils.cpp(38):Exists] stat failed: ENOENT 12-18 21:30:30.737 I [cdm_engine.cpp(1001):QueryOemCryptoSessionId] session_id = sid19 12-18 21:30:30.737 I [cdm_engine.cpp(186):OpenSession] New session: session_id = sid19 12-18 21:30:30.737 I [file_utils.cpp(38):Exists] stat failed: ENOENT 12-18 21:30:30.737 I [file_utils.cpp(38):Exists] stat failed: ENOENT 12-18 21:30:30.738 I [cdm_engine.cpp(2154):SetPlaybackId] session_id = sid19, playback_id = T8qWVdL_mPZSPc5J 12-18 21:30:30.739 I [file_utils.cpp(38):Exists] stat failed: ENOENT 12-18 21:30:30.739 I [file_utils.cpp(38):Exists] stat failed: ENOENT 12-18 21:30:30.739 I [cdm_engine.cpp(273):GenerateKeyRequest] session_id = sid19, key_set_id = , license_type = Streaming 12-18 21:30:30.751 I [cdm_engine.cpp(1012):IsSecurityLevelSupported] level = L1 12-18 21:30:30.751 I [cdm_engine.cpp(906):QuerySessionStatus] session_id = sid19 12-18 21:30:30.781 I [cdm_engine.cpp(1012):IsSecurityLevelSupported] level = L1 12-18 21:30:30.857 I [cdm_engine.cpp(352):AddKey] session_id = sid19, key_set_id = 12-18 21:30:30.872 E [crypto_session.cpp(1802):Decrypt] OEMCrypto_DecryptCENC failed: status = 29 12-18 21:30:30.935 I [cdm_engine.cpp(231):CloseSession] session_id = sid19 12-18 21:30:31.959 I No hidl drm factories found 12-18 21:30:31.959 E Failed to find passthrough drm factories 12-18 21:30:31.964 I No hidl drm factories found 12-18 21:30:31.965 E Failed to find passthrough drm factories 12-18 21:30:31.971 I [(0):] L3 Terminate. 12-18 21:30:31.971 E [oemcrypto_adapter_dynamic.cpp(904):Level1Terminate] L1 Terminate 12-18 21:30:32.155 E Failed to find passthrough drm factories 12-18 21:30:32.155 I No hidl drm factories found 12-18 21:30:32.158 I No hidl drm factories found 12-18 21:30:32.158 E Failed to find passthrough drm factories 12-18 21:30:32.159 I [oemcrypto_adapter_dynamic.cpp(849):Initialize] Level 3 Build Info (v17): OEMCrypto Level3 Code Feb 2 2023 05:14:35 28923 ARM 32bit APIv17.1 12-18 21:30:32.159 I [file_utils.cpp(38):Exists] stat failed: ENOENT 12-18 21:30:32.159 I [(0):] Level3 Library 28923 Feb 2 2023 05:14:35 12-18 21:30:32.164 I [oemcrypto_adapter_dynamic.cpp(863):Initialize] L3 Initialized. Trying L1. 12-18 21:30:32.181 W [oemcrypto_adapter_dynamic.cpp(1058):LoadLevel1] Could not load L1 _oecc51. 12-18 21:30:32.181 W [oemcrypto_adapter_dynamic.cpp(1017):LoadLevel1] Could not load L1 _oecc90. 12-18 21:30:32.181 I [file_utils.cpp(38):Exists] stat failed: ENOENT 12-18 21:30:32.181 I [oemcrypto_adapter_dynamic.cpp(892):Initialize] Level 1 Build Info (v17): Widevine OPK v17.0.2 ROCKCHIP 12-18 21:30:32.181 W [oemcrypto_adapter_dynamic.cpp(1057):LoadLevel1] Could not load L1 _oecc18. 12-18 21:30:32.181 W [oemcrypto_adapter_dynamic.cpp(1059):LoadLevel1] Could not load L1 _oecc23. 12-18 21:30:32.629 I [usage_table_header.cpp(203):RestoreTable] Found usage table to restore: entry_count = 0 12-18 21:30:32.650 I [file_utils.cpp(38):Exists] stat failed: ENOENT 12-18 21:30:32.650 I [file_utils.cpp(38):Exists] stat failed: ENOENT 12-18 21:30:32.651 I [cdm_engine.cpp(1001):QueryOemCryptoSessionId] session_id = sid20 12-18 21:30:32.651 I [cdm_engine.cpp(186):OpenSession] New session: session_id = sid20 12-18 21:30:32.651 I [file_utils.cpp(38):Exists] stat failed: ENOENT 12-18 21:30:32.652 I [cdm_engine.cpp(2154):SetPlaybackId] session_id = sid20, playback_id = 6ZCDG858yGeoCKMs 12-18 21:30:32.653 I [file_utils.cpp(38):Exists] stat failed: ENOENT 12-18 21:30:32.653 I [cdm_engine.cpp(273):GenerateKeyRequest] session_id = sid20, key_set_id = , license_type = Streaming 12-18 21:30:32.653 I [file_utils.cpp(38):Exists] stat failed: ENOENT 12-18 21:30:32.680 I [cdm_engine.cpp(1012):IsSecurityLevelSupported] level = L1 12-18 21:30:32.682 I [cdm_engine.cpp(906):QuerySessionStatus] session_id = sid20 12-18 21:30:32.729 I [cdm_engine.cpp(1012):IsSecurityLevelSupported] level = L1 12-18 21:30:33.007 I [cdm_engine.cpp(352):AddKey] session_id = sid20, key_set_id = 12-18 21:30:33.027 E [crypto_session.cpp(1802):Decrypt] OEMCrypto_DecryptCENC failed: status = 29 12-18 21:30:33.083 I [cdm_engine.cpp(231):CloseSession] session_id = sid20 12-18 21:30:34.109 I No hidl drm factories found 12-18 21:30:34.110 E Failed to find passthrough drm factories 12-18 21:30:34.116 I No hidl drm factories found 12-18 21:30:34.117 E Failed to find passthrough drm factories 12-18 21:30:34.123 I [(0):] L3 Terminate. 12-18 21:30:34.123 E [oemcrypto_adapter_dynamic.cpp(904):Level1Terminate] L1 Terminate 12-18 21:30:34.356 I No hidl drm factories found 12-18 21:30:34.356 E Failed to find passthrough drm factories 12-18 21:30:34.360 I No hidl drm factories found 12-18 21:30:34.361 E Failed to find passthrough drm factories 12-18 21:30:34.362 I [file_utils.cpp(38):Exists] stat failed: ENOENT 12-18 21:30:34.362 I [oemcrypto_adapter_dynamic.cpp(849):Initialize] Level 3 Build Info (v17): OEMCrypto Level3 Code Feb 2 2023 05:14:35 28923 ARM 32bit APIv17.1 12-18 21:30:34.362 I [(0):] Level3 Library 28923 Feb 2 2023 05:14:35 12-18 21:30:34.366 I [oemcrypto_adapter_dynamic.cpp(863):Initialize] L3 Initialized. Trying L1. 12-18 21:30:34.375 W [oemcrypto_adapter_dynamic.cpp(1058):LoadLevel1] Could not load L1 _oecc51. 12-18 21:30:34.375 W [oemcrypto_adapter_dynamic.cpp(1059):LoadLevel1] Could not load L1 _oecc23. 12-18 21:30:34.375 I [file_utils.cpp(38):Exists] stat failed: ENOENT 12-18 21:30:34.375 I [oemcrypto_adapter_dynamic.cpp(892):Initialize] Level 1 Build Info (v17): Widevine OPK v17.0.2 ROCKCHIP 12-18 21:30:34.375 W [oemcrypto_adapter_dynamic.cpp(1017):LoadLevel1] Could not load L1 _oecc90. 12-18 21:30:34.375 W [oemcrypto_adapter_dynamic.cpp(1057):LoadLevel1] Could not load L1 _oecc18. 12-18 21:30:34.781 I [usage_table_header.cpp(203):RestoreTable] Foun

Media

For security reasons, we will provide the content URL via email.

Bug Report

  • [ ] You will email the zip file produced by adb bugreport to [email protected] after filing this issue.

ShrikantSonawane avatar Jan 15 '25 04:01 ShrikantSonawane

  • You will email the zip file produced by adb bugreport to [email protected] after filing this issue.

Please do this part. We got the media link, but not the bug report. Please let us know here when you've sent the email.

icbaker avatar Jan 15 '25 09:01 icbaker

  • You will email the zip file produced by adb bugreport to [email protected] after filing this issue.

Please do this part. We got the media link, but not the bug report. Please let us know here when you've sent the email.

Hi @icbaker Thank you for your prompt response.

Unfortunately, we do not have access to the user's device, so we are unable to reproduce the issue on our end to generate a bug report. However, we have shared the playback error details captured via Youbora in the "Actual Result" section of the GitHub issue.

For your reference, here are the device details: https://dsolutions.asia/index.php?route=product/product&path=8_67&product_id=882

  • Device ID: 0556d7e1-b5a4-4813-a7ea-f4a16762b02a
  • OS: Android 13
  • Browser: Android Browser, version okhttp/4.11.0
  • Plugin Version: 7.2.37-Media3ExoPlayer-Android
  • Library Version: 7.2.37-android-sdk
  • Player: Media3ExoPlayer, version 1.3.1
  • Device Model: SW32BUD4K

Please let us know if there are any specific logs or additional information we can provide to assist in resolving this issue.

ShrikantSonawane avatar Jan 16 '25 03:01 ShrikantSonawane

Unfortunately, we do not have access to the user's device

Unfortunately, neither do we.


we are unable to reproduce the issue on our end to generate a bug report

I assume from this that you have tried to reproduce on your end using a different device, and are able to successfuly play the content on that device. Is that correct?


@rrfrias Is there enough info in the logcat snippet above to determine the issue?

icbaker avatar Jan 16 '25 09:01 icbaker

Unfortunately, we do not have access to the user's device

Unfortunately, neither do we.

we are unable to reproduce the issue on our end to generate a bug report

I assume from this that you have tried to reproduce on your end using a different device, and are able to successfuly play the content on that device. Is that correct?

@rrfrias Is there enough info in the logcat snippet above to determine the issue?

@icbaker Yes, that's correct. We attempted to reproduce the issue on our end using various devices running Android 13 and other OS versions, but we were able to play the content successfully in all cases.

ShrikantSonawane avatar Jan 16 '25 09:01 ShrikantSonawane

Opened 391273425 to track internally. Will investigate and get back.

rrfrias avatar Jan 21 '25 08:01 rrfrias

@rrfrias Thanks.

ShrikantSonawane avatar Jan 21 '25 08:01 ShrikantSonawane

We might have a fix for the device. Are you part of Swosh or just working on an app that runs on Swoshbud? Also are there any other (android 13) devices that you have see that do or do not exhibit this problem?

rrfrias avatar Jan 29 '25 23:01 rrfrias

We might have a fix for the device. Are you part of Swosh or just working on an app that runs on Swoshbud? Also are there any other (android 13) devices that you have see that do or do not exhibit this problem?

@rrfrias I’m working on an app that runs on the Swosh device, not directly with Swosh. So far, we haven’t received any other reports of this behavior on other Android 13 devices.

ShrikantSonawane avatar Feb 04 '25 01:02 ShrikantSonawane

Thanks for this information. We are trying to see if we can reach someone at Swosh to see if they can release an update with a potential fix.

This problem happens when there are multiple clear/unencrypted subsamples in the content before any encrypted content. As a workaround if each unencrypted frame is only one sub-sample it should work.

rrfrias avatar Feb 04 '25 20:02 rrfrias

Thanks for this information. We are trying to see if we can reach someone at Swosh to see if they can release an update with a potential fix.

This problem happens when there are multiple clear/unencrypted subsamples in the content before any encrypted content. As a workaround if each unencrypted frame is only one sub-sample it should work.

@rrfrias Thanks for the update.

ShrikantSonawane avatar Feb 05 '25 02:02 ShrikantSonawane

@rrfrias Any updates from Swosh on a potential fix?

ShrikantSonawane avatar Feb 17 '25 08:02 ShrikantSonawane

We are trying to find a contact at Swosh. Hopefully we will know more in a week.

rrfrias avatar Mar 04 '25 23:03 rrfrias

We are trying to find a contact at Swosh. Hopefully we will know more in a week.

@rrfrias Thanks for sharing! Please keep me updated once you have more details.

ShrikantSonawane avatar Mar 05 '25 06:03 ShrikantSonawane

Hi @rrfrias any update on this?

ShrikantSonawane avatar Mar 21 '25 04:03 ShrikantSonawane

@rrfrias Hope you're doing well. Just checking in to see if there are any updates on finding a contact at Swosh.

ShrikantSonawane avatar Apr 02 '25 01:04 ShrikantSonawane

We do not have a contact with Swosh. Working internally to find out how best to reach out to them.

rrfrias avatar Apr 02 '25 01:04 rrfrias

@rrfrias Thanks for the update! Please keep us posted on any progress.

ShrikantSonawane avatar Apr 04 '25 02:04 ShrikantSonawane

@rrfrias Hope you're doing well. Just checking in to see if there are any updates on finding a contact at Swosh.

ShrikantSonawane avatar Apr 22 '25 10:04 ShrikantSonawane

I have been unable to find anyone who has a contact with Swosh. I am trying to reach out to the SoC provider to see if they can help. Opened 417559077 to track.

If you have a contact can you reach out to Swosh and ask them to reach out to https://widevine.com/contact and mention this github issue tracker

rrfrias avatar May 13 '25 22:05 rrfrias

@rrfrias Thanks for the update! I’ll also check if we can get in touch with the Swosh team.

ShrikantSonawane avatar May 14 '25 01:05 ShrikantSonawane

1.Install Drm Info apk,and check the Widevine CDM version. 2.How to reproduce your issue on my side?

cigogo2015 avatar May 16 '25 08:05 cigogo2015

@ShrikantSonawane, do we have your permission to share the repro details you sent when you opened the tracker with the SoC (Rockchip)? You shared the mpd path but not the license service URL. Can you share that as well (email [email protected] and mention 2040 in the subject line.

rrfrias avatar May 22 '25 18:05 rrfrias

The manufacturer of Swosh Bud 4k products can contact us(rockchip). We can update a widevine version ,then they can verify this issue.

cigogo2015 avatar May 23 '25 07:05 cigogo2015

@ShrikantSonawane, do we have your permission to share the repro details you sent when you opened the tracker with the SoC (Rockchip)? You shared the mpd path but not the license service URL. Can you share that as well (email [email protected] and mention 2040 in the subject line.

@rrfrias Yes, please feel free to share the repro details. I’ve also emailed the manifest URL along with the license URL for both VOD and live DRM-protected content.

ShrikantSonawane avatar May 23 '25 07:05 ShrikantSonawane

@ShrikantSonawane we are having trouble using the mpd, license URL. We get a HTTP 403 or 404 when we try to playback content. Might it be possible to share the Exoplayer demo app that reproduces the problem . Email [email protected] and mention 2040 in the subject line

rrfrias avatar May 28 '25 21:05 rrfrias

Equipment manufacturers can obtain widevine update patches from Rockchip.

cigogo2015 avatar Jun 04 '25 02:06 cigogo2015

Hey @ShrikantSonawane. 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 Jun 24 '25 01:06 google-oss-bot

@rrfrias / @google-oss-bot Thanks for the follow-up. I’ve already shared the requested information over email. Please let me know if there’s anything else needed from my side to help move this forward.

ShrikantSonawane avatar Jun 24 '25 01:06 ShrikantSonawane

Thanks! We are trying to see if Rock chips can reach out to Swosh and fix up any fixes.

rrfrias avatar Jun 24 '25 17:06 rrfrias

@ShrikantSonawane please share a email address,I can update the patch to you to check this issue.

cigogo2015 avatar Jul 01 '25 09:07 cigogo2015