1

我们可以更改钴的 protobuf 版本吗?
当前的 protobuf 是 2.4,但 widevine(2.0.8) 需要 protobuf 2.5 版本。
在 google_streaming_api.pb.h 中,它硬编码“2004000”并警告我们“不要编辑!” 在顶部。

你能给我们一些建议吗?

4

1 回答 1

0

Protobuf 实际上主要是为了支持 Widevine,但它是为旧版本的 Widevine 提供的。此外,Cobalt 现在也将其用于其他目的。

如果 Widevine 需要特定版本的 protobuf,很可能是因为它需要该版本中引入的 protobuf 的某些功能,因此仅更改版本号可能不起作用。

假设 protobuf 保持向后兼容性,那么变基到更高版本应该没问题。但是,您需要将它移植到 Starboard,就像对 protobuf 的捆绑版本所做的那样。

另一个可能最终更方便的选择是将 Widevine 作为共享对象链接,因此 Cobalt 可以使用它的 protobuf 版本,Widevine 可以使用它的 protobuf 版本。您需要确保 Cobalt 或 Widevine 库都不会导出任何 protobuf 符号。

我已经提交了更新 protobuf 版本的内部请求,因此最终 Cobalt 将捆绑已移植到 Starboard 的 protobuf 库的更新版本。

于 2016-12-19T20:23:31.580 回答