Dear fellow members, have you been facing DRM playback errors with Pixcel C or specific old Android devices?
One of the possible reasons for this behaviour could be L1 Widevine device certificate revocation by Google/Widevine for such devices. Every DRM system(including Widevine) configures each device(/model) with a unique set of keys/certificates. There is also a mechanism to revoke these keys/certificates to allow DRM system prevent misuse in case of security breach.
It seems that Widevine L1 certificates are revoked for Pixel C devices. So, if playback of Widevine protected content in tried on such device, it tries to fetch L1 Widevine certificate by making a request to https://www.googleapis.com/certificateprovisioning/v1/devicecertificates/create and this request is rejected by Google Widevine server leading to playback failure.
The solution is to force player to use L3 Widevine level on such devices. With Bitmovin Android player SDK, this can be done by setting WidevineConfig.preferredSecurityLevel = “L3”
Example JAVA code snippet.
WidevineConfig drmConfig = new WidevineConfig("....."); drmConfig.setPreferredSecurityLevel("L3");
Since using L3 Widevine security level is less secure than L1 Widevine level, video applications should not force L3 Widevine usage en masse. The solution should be applied only for devices impacted by L1 Widevine revocation.
Additionally, depending on your content usage policy, the playback may needed to be restricted to 720p only when L3 Widevine is forced.
Please let us know if you have encountered such issue recently. We would love to hear about which devices, what solutions you found and any feedback/inputs about the solution proposed here.