【问题标题】:How to integrate our own player with Cobalt如何将我们自己的播放器与 Cobalt 集成
【发布时间】:2017-01-16 07:45:48
【问题描述】:

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

【问题讨论】:

    标签: cobalt


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多