CicadaPlayer项目简介视频
01.CicadaPlayer项目简介-莫企
关于默认分支的说明是不对的,现在默认分支以改成master
自我介绍
- 个人简单经历
- 在项目中主要工作
github页面介绍
- 项目背景
- license
- 语言
- 图标
- README
- wiki
- 目前状况
- pullrequest
02.CicadaPlayer Travis CI及单元测试初探
- 持续集成
- 代码覆盖率
- pull request检查
- 内存检查
- IDE简介
- Debug ffmpeg debug
- Travis单元测试的流程
- 项目的入手点
03. CicadaPlayer DataSource以及原型模式
- 使用原型模式的初衷和plugin
- DataSource的原型模式的注册和创建
- 其他组件的原型模式的创建简介
- DataSource接口介绍
- http DataSource的实现
- 其他DataSource的实现
- BiDataSource
- 更正原型模式代码说明(最后两分钟)
04.Active Object模式和ActiveDecoder的应用
- 主动对象简单介绍
- 用播放器实现seek preview举例说明选择主动对象的想法
- 播放器编排层线程模型简介(简单方案,timedEventQueue)
- ActiveDecoder介绍
- demuxer和render 主动对象介绍
05.基本媒体数据类型及其内存管理
- 数据和meta分离的结构
- clone方法
- AVAFPacket和AVAFFrame的实现
- 其他硬解码frame的实现
- subTitlePacket 已经不再使用。
-
unique_ptr和shared_ptr的选择。
shared_ptr 优点:简单,通用,可以共享 缺点:数据安全,滥用,传染性/(不可转换性)
unique_ptr 优点:安全,自由,无传染性 缺点:使用稍复杂,无拷贝构造,通用性稍差,不可共享
- 数据在模块间的传递
06.CicadaPlayer中对ffmpeg的使用(1)
- DataSource ffmpegDataSource
- demuxer avFormatDemuxer avFormatSubtitleDemuxer
- bsf AVBSF AFAVBSF
07.CicadaPlayer中对ffmpeg的使用(2)
- muxer
- decoder avcodecDecoder
- ffmpegAudioFilter
- 其他utils aes md5