前文分析了XBMC的整体结构以及皮肤部分:

XBMC源代码分析 1:整体结构以及编译方法

XBMC源代码分析 2:Addons(皮肤Skin)

本文以及以后的文章主要分析XBMC的VC工程中的源代码。XBMC源代码体积庞大,想要完全分析所有代码是比较困难的。在这里我们选择它和音视频编解码有关的部分进行分析。在本文里,我们主要分析其核心部分(core)代码。

核心部分(core)源代码结构如图所示:

我目前理解的有以下3个,其他的有时间研究后再补上:

AudioEngine:音频引擎。其封装了所有不同的媒体类型的混音、采样率转换、格式转换、编码、上混、缩混等。

dvdplayer:视频播放器。其中封装了FFMPEG等一些库,是我们分析的重点。

paplayer:XBMC自行开发出来的音频播放器。

本系列文章将会重点分析dvdplayer这个播放器。

下面我们先来看看dvdplayer的代码结构:

先不说一大堆cpp文件。dvdplayer包含以下5个文件夹,我们分析以下3个文件夹中的内容

DVDCodecs:封装各种解码器

DVDDemuxers:封装各种解复用器

DVDHeaders:封装各种Dll的头文件

DVDCodecs里面包含各种解码器的封装,下图列出了封装视频解码器的文件。

DVDDemuxers里面包含了各种解复用器(视音频分离器)的封装,如下图所示。

DVDHeaders里面包含了封装各种Dll的头文件,如下图所示。

详细的分析会在后续文章中完成。

XBMC源代码分析 3:核心部分(core)-综述相关推荐

  1. XBMC源代码分析 7:视频播放器(dvdplayer)-输入流(以libRTMP为例)

    前文分析了XBMC的基本结构: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 XBMC源代码分 ...

  2. XBMC源代码分析 6:视频播放器(dvdplayer)-文件头(以ffmpeg为例)

    XBMC分析系列文章: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 XBMC源代码分析 4: ...

  3. XBMC源代码分析 4:视频播放器(dvdplayer)-解码器(以ffmpeg为例)

    XBMC分析系列文章: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 本文我们分析XBMC中视 ...

  4. Linux内核源代码分析——vmstat核心代码注释

    一次和圈子里的朋友群聊的时候,谈到了vmstat的实现机制.我当时正在轻轨上,幻想着从轻轨飞下去的快感.在轻轨上我发表了自己的一些看法,不过都是意淫. 现在,已经过去半周了,今天终于闲下来把vmsta ...

  5. XBMC源代码简析 5:视频播放器(dvdplayer)-解复用器(以ffmpeg为例)

    XBMC分析系列文章: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 XBMC源代码分析 4: ...

  6. Spark SQL 源代码分析系列

    从决定写Spark SQL文章的源代码分析,到现在一个月的时间,一个又一个几乎相同的结束很快,在这里也做了一个综合指数,方便阅读,下面是读取顺序 :) 第一章 Spark SQL源代码分析之核心流程 ...

  7. linux关机机器语言,Linux 核心源代码分析 - 第十章 开机 关机 [续二] [超星]...

    版权声明:本文档录自超星阅览器"免费图书馆"中的<Linux 核心源代码分析>.原文为扫描版,本文本文档是在下(大天赐)[http://blog.sina.com.cn ...

  8. Media Player Classic - HC 源代码分析 4:核心类 (CMainFrame)(3)

    ===================================================== Media Player Classic - HC 源代码分析系列文章列表: Media P ...

  9. Media Player Classic - HC 源代码分析 3:核心类 (CMainFrame)(2)

    ===================================================== Media Player Classic - HC 源代码分析系列文章列表: Media P ...

最新文章

  1. 分页存储过程性能比较 二分法
  2. python开发环境配置config_manjaro与python开发环境配置
  3. python+opencv获取最小外接矩形
  4. ae saber插件_【AE插件】 用于做动画制作/设计的五个免费插件 非常好用
  5. Oracle(二):查询、函数、集合运算
  6. 杭电4554 叛逆的小明
  7. 2143亿!2018年天猫“双11”成交总额是这样预测的
  8. 编译telepresence:没有规则可制作目标“tinywrap/ActionConfig.cxx”,由“telepresence-ActionConfig.o” 需求。
  9. Linux之unzip命令
  10. 雷达人体静止感应技术,云望爱希ISee雷达感应成品,高精度探测应用
  11. dvwa安装教程(LNMP一套Linux+Nginx+MariaDB+PHP)
  12. 官方rom提取原签名工具_ROM修改工具:Dragonface+昂达OTA签名工具
  13. 20款优秀的数据可视化工具 (建议收藏)
  14. 转:用AutoCAD 系统变量编程
  15. html上下箭头动态效果,使用CSS和Bootstrap图标制作上下跳动的指示箭头动画效果...
  16. [人物] “在人间播种子,在天上洒甘霖。” 国士无双,袁老千古。
  17. 常用笔刷(blender)
  18. TEM TE TM模的区别和电磁波模式
  19. locust快速入门
  20. 数据库的学习笔记(一)

热门文章

  1. Bailian2693 最远距离【序列处理】
  2. JSK-129 判断日期是否符合格式【入门】
  3. CCF201709-3 JSON查询(100分)【文本处理】
  4. HDU2000 ASCII码排序【字符串排序】
  5. CCF NOI1007 计算余数
  6. Java 面试题 —— java 源码
  7. 图案、标签、logo
  8. C++基础::字符串流(stringstream)
  9. 内容联盟程序_英雄联盟可以偷看你的网页?你的账号密码还安全吗?
  10. 自学python免费教材-python零基础自学教材