我们可以更改钴的 protobuf 版本吗?
Posted
技术标签:
【中文标题】我们可以更改钴的 protobuf 版本吗?【英文标题】:Could we change protobuf version of cobalt? 【发布时间】:2016-12-19 07:00:13 【问题描述】:当前的 protobuf 是 2.4,但widevine(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 版本吗?的主要内容,如果未能解决你的问题,请参考以下文章