从Cobalt的源代码可以看出,它使用了ffmpeg相关的库(例如libasound/libavcodec/libavresample/libavutil...)来解码和渲染/播放视频/音频作为自己的播放器(拉模式/推模式),由于播放代码从cobalt init到video decode是高耦合的,并且没有统一的接口用于集成其他播放器,所以除了ffmpeg和cobalt之外,是否有任何指南文档或示例代码来支持/集成其他播放器?
问问题
357 次
1 回答
1
播放器的移植接口以 为中心SbPlayer
,定义在src/starboard/player.h
-- 下面的所有内容都src/starboard/shared/
应该被视为示例,或者您可以用来实现的起始代码SbPlayer
。您可以根据自己的方便使用全部或不使用。关键是您实现SbPlayer
和辅助媒体移植 API,如SbMedia
和SbDrm
,并满足其描述的合同。
Starboard(定义见src/starboard/*.h
)是 Cobalt 移植接口,因此您不必为了将 Cobalt 完全移植到新平台而修改 Starboard 实现之外的任何内容。由于 Starboard 是受版本控制的 API,这将使以后的 rebase 变得更加容易,但任何其他代码都可能随时更改,恕不另行通知。在不通过 Starboard API 的情况下,不会也永远不会从 Cobalt 直接引用任何 Starboard 实现代码,因此您可以根据平台的需要交换其中的任何部分。
于 2017-01-16T18:26:04.630 回答