0

We call SbDrmSessionUpdateRequestFunc() to request license, then CDM tries to parse keys from the string in SbDrmUpdateSession(const void* key), but an error occurs in CDM. And we check the code in CDM, it is dued to unmatched format when parsing the string.

[cobalt]>[INFO:../../../core/src/cdm_engine.cpp(295)] CdmEngine::AddKey
[cobalt]>[ERROR:../../../core/src/crypto_session.cpp(529)] CryptoSession::LoadKeys: OEMCrypto_LoadKeys error=29
[cobalt]>[ERROR:../../../core/src/cdm_engine.cpp(344)] CdmEngine::AddKey: keys not added, result = 99
[cobalt]>[ERROR:../../../cdm/src/cdm.cpp(670)] Unexpected error 99

Is the process related to the version of Protobuf? As our CDM statically use a lower version (2.5.0) than Cobalt Release 9's Protobuf (3.0.0).

If it is not related to Protobuf version, what may influence the content of key passed by Cobalt?

Ceri Ruan
  • 13
  • 3

1 Answers1

0

Cobalt doesn't process key requests or responses in any way (it treats them as opaque blobs), so the version of Protobuf that Cobalt uses should be irrelevant to this issue.

I suggest to compare CDM responses you are getting through Cobalt and another browser. I also suggest you to contact Widevine team and verify that the version of Widevine client you are using is compatible with YouTube (I presume this is why you are doing Cobalt port).

mmotorny
  • 320
  • 1
  • 7