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?

4

1 回答 1

0

Cobalt 不会以任何方式处理关键请求或响应(它将它们视为不透明的 blob),因此 Cobalt 使用的 Protobuf 版本应该与此问题无关。

我建议比较您通过 Cobalt 和其他浏览器获得的 CDM 响应。我还建议您联系 Widevine 团队并验证您使用的 Widevine 客户端版本是否与 YouTube 兼容(我想这就是您进行 Cobalt 移植的原因)。

于 2017-06-19T20:59:57.470 回答