1

从Cobalt的源代码可以看出,它使用了ffmpeg相关的库(例如libasound/libavcodec/libavresample/libavutil...)来解码和渲染/播放视频/音频作为自己的播放器(拉模式/推模式),由于播放代码从cobalt init到video decode是高耦合的,并且没有统一的接口用于集成其他播放器,所以除了ffmpeg和cobalt之外,是否有任何指南文档或示例代码来支持/集成其他播放器?

4

1 回答 1

1

播放器的移植接口以 为中心SbPlayer,定义在src/starboard/player.h-- 下面的所有内容都src/starboard/shared/应该被视为示例,或者您可以用来实现的起始代码SbPlayer。您可以根据自己的方便使用全部或不使用。关键是您实现SbPlayer和辅助媒体移植 API,如SbMediaSbDrm,并满足其描述的合同。

Starboard(定义见src/starboard/*.h)是 Cobalt 移植接口,因此您不必为了将 Cobalt 完全移植到新平台而修改 Starboard 实现之外的任何内容。由于 Starboard 是受版本控制的 API,这将使以后的 rebase 变得更加容易,但任何其他代码都可能随时更改,恕不另行通知。在不通过 Starboard API 的情况下,不会也永远不会从 Cobalt 直接引用任何 Starboard 实现代码,因此您可以根据平台的需要交换其中的任何部分。

于 2017-01-16T18:26:04.630 回答