我们可以更改钴的 protobuf 版本吗?

Posted

技术标签:

【中文标题】我们可以更改钴的 protobuf 版本吗?【英文标题】:Could we change protobuf version of cobalt? 【发布时间】:2016-12-19 07:00:13 【问题描述】:

当前的 protobuf 是 2.4,但w​​idevine(2.0.8) 需要 protobuf 2.5 版本。 在 google_streaming_api.pb.h 中,它硬编码“2004000”并警告我们“不要编辑!”在顶部。 您能给我们一些建议吗?

【问题讨论】:

【参考方案1】:

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

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

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

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

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

【讨论】:

以上是关于我们可以更改钴的 protobuf 版本吗?的主要内容,如果未能解决你的问题,请参考以下文章

wireshark内置支持protobuf吗

php protobuf不能为null吗

php使用protobuf3

Guitar Pro 7 可以添加简谱吗?

google protobuf可以用于android中C和Java服务之间的通信吗?

netty案例,netty4.1中级拓展篇二《Netty使用Protobuf传输数据》