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?