Cobalt可能会从SbDrmUpdateSession()传递不匹配的密钥

时间:2017-06-19 09:42:01

标签: cobalt

我们调用SbDrmSessionUpdateRequestFunc()来请求许可,然后CDM尝试解析SbDrmUpdateSession(const void * key)中字符串的键,但CDM中发生错误。 我们检查CDM中的代码,在解析字符串时,它将被用于不匹配的格式。

[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

该过程是否与Protobuf的版本相关?由于我们的CDM静态使用较低版本(2.5.0)而不是Cobalt Release 9的Protobuf(3.0.0)。

如果它与Protobuf版本无关,那么可能会影响Cobalt传递的密钥内容?

1 个答案:

答案 0 :(得分:0)

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

我建议您比较通过Cobalt和其他浏览器获得的CDM响应。我还建议您联系Widevine团队并确认您使用的Widevine客户端版本与YouTube兼容(我认为这就是您使用Cobalt端口的原因)。