我们调用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静态使用比Cobalt Release 9的Protobuf (3.0.0)更低的版本(2.5.0)。
如果与Protobuf版本无关,会对Cobalt传递的key内容有什么影响?
发布于 2017-06-20 04:59:57
Cobalt不以任何方式处理关键请求或响应(它将它们视为不透明的blob),因此Cobalt使用的Protobuf版本应该与此问题无关。
我建议将您通过Cobalt和其他浏览器获得的CDM响应进行比较。我还建议你联系Widevine团队,验证你正在使用的Widevine客户端版本是否与YouTube兼容(我想这就是为什么你要做Cobalt port)。
https://stackoverflow.com/questions/44627114
复制相似问题