NuPlayer
文章平均质量分 95
SuperDali
写写博客,记记生活
展开
-
NuPlayer源码分析一:播放器创建
摘要原创 2019-05-20 00:28:41 · 2233 阅读 · 5 评论 -
NuPlayer源码分析二:解封装模块
NuPlayer解封装模块解封装模块的重要作用,是将封装好的音视频源文件,通过不同的封装协议,解析成码流后,送到解码器解码。NuPlayer中和解封装相关的类有:NuPlayer::Source:解封装模块的基类,定义了解封装的基本接口。GenericSource:本地文件相关。HTTPLiveSource:HLS流媒体使用的解封装类。RTSPSource:SDP协议媒体流使用的解封...原创 2019-05-27 23:33:33 · 2448 阅读 · 5 评论 -
NuPlayer源码分析三:解码模块
解码模块NuPlayer的解码模块相对比较简单,统一使用了一个基类NuPlayerDecoderBase管理,该类中包含了一个MediaCodec的对象,实际解码工作全靠MediaCodec。如果你不会知道MediaCodec是什么,推荐去官网看看:MediaCodec尽管解码工作都被MediaCodec接管,我还是会按照播放器的一般步骤,来分析一下NuPlayerDecoderBase...原创 2019-05-27 23:37:38 · 1801 阅读 · 0 评论 -
NuPlayer源码分析四:渲染模块&音视频同步
渲染模块&音视频同步渲染模块的作用是,将音频、视频数据安装一定的同步策略通过对应的设备输出。这是所有的播放器都不可或缺的模块。NuPlayer的渲染类为Renderer,定义在NuPlayerRenderer.h文件中。它的主要功能有:缓存数据音频设备初始化&数据播放视频数据播放音视频同步功能缓存数据在表明缓存逻辑之前,先介绍一下NuPlayerRenderer...原创 2019-05-27 23:41:54 · 2333 阅读 · 10 评论