Exoplayer: Unable to play DRM or Encrypted Content on Asus Nexus 7

Created on 25 Sep 2020  路  6Comments  路  Source: google/ExoPlayer

[REQUIRED] Issue description

We have reports that some of our users are unable to play any encrypted content on this device.
We managed to get a test device and installed the Exoplayer demo app. So far, we've seen similar playback errors.

Everytime we tried playing DRM content, we receive this error:

Caused by: com.google.android.exoplayer2.drm.DrmSession$DrmSessionException: com.google.android.exoplayer2.drm.MediaDrmCallbackException: com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 400

From the looks of it, the player seems to be sending a bad request to the license servers. I've attached the full bugreport for more details.

[REQUIRED] Reproduction steps

Play any secure test stream.
Test streams that we tried:

  • SW secure crypto (L3)
  • SW secure decode
  • HDCP not Required

[REQUIRED] Link to test content

We've used the test streams on the demo app

[REQUIRED] A full bug report captured from the device

bugreport-2020-09-25-18-16-25.zip

[REQUIRED] Version of ExoPlayer being used

Exoplayer 2.12.0

[REQUIRED] Device(s) and version(s) of Android being used

Nexus 7.0 - Android version 6.0.1

device specific in platform drm

All 6 comments

We've been able to reproduce the issue on our side, so I suspect this is not specific to your device. Nexus7 is no longer supported so perhaps this is related to the Widevine license server not liking the the issued license request. @rrfrias do you know anything about what could be causing an HTTP 400 for Nexus7 specifically?

@CipherGit, if your company is a Google/Widevine partner, you should contact https://www.widevine.com/contact for more information. Consider falling back to level 3 security for Nexus 7 if your use case supports it.

@rrfrias Thank you for the reply! We thought of falling back to L3 however, we tried the "SW secure crypto (L3)" from the demo which also did not work. Do we need to configure something else? Thanks again!

I assume you are playing back content labelled "SW secure crypto (L3)" in the demo app. If so, that refers to the content policy. It will still use the default device security level. For Nexus 7 is L(evel) 1 security. To playback using L(evel) 3 security, search ExoPlayer code for "forceWidevineL3" for an example. If you need more details about Widevine properties and are a Widevine licensee please contact Widevine support at https://www.widevine.com/contact.

I will close this for now. If there any additional questions please contact Widevine support or reopen.

Additional context for reference: Widevine has revoked licensing for some devices, including Nexus 7. [Internal ref: b/167219582].

Discussion around automatic fallback to L3 is being consolidated in https://github.com/google/ExoPlayer/issues/8108. Please use that issue to discuss this further. Thanks!

Was this page helpful?
0 / 5 - 0 ratings