前文已经对XBMC源代码的整体架构进行了分析: XBMC源代码分析 1:整体结构以及编译方法 从这篇文章开始,就要对XBMC源代码进行具体分析了.首先先不分析其C++代码,分析一下和其皮肤相关的代码. XBMC 的和皮肤相关的代码位于 "根目录/addons" 里面.可以从官方网站上下载皮肤文件的压缩包,然后解压到该目录下面即可.皮肤文件夹名称一般是"skin.XXXX"形式的,即以"skin."开头. XBMC自带的皮肤存储在文件夹"…
前文分析了XBMC的基本结构: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 XBMC源代码分析 4:视频播放器(dvdplayer)-解码器(以ffmpeg为例) XBMC源代码简析 5:视频播放器(dvdplayer)-解复用器(以ffmpeg为例) XBMC源代码分析 6:视频播放器(dvdplayer)-文件头(以ffmpeg为例) 本文我们分析XBMC中视频播放器(dvdplaye…
XBMC分析系列文章: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 XBMC源代码分析 4:视频播放器(dvdplayer)-解码器(以ffmpeg为例) XBMC源代码简析 5:视频播放器(dvdplayer)-解复用器(以ffmpeg为例) 本文我们分析XBMC中视频播放器(dvdplayer)中的文件头部分.文件头部分里包含的是封装Dll用到的头文件.由于文件头种类很多,不可能一一分…
XBMC分析系列文章: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 本文我们分析XBMC中视频播放器(dvdplayer)中的解码器部分.由于解码器种类很多,不可能一一分析,因此以ffmpeg解码器为例进行分析. XBMC解码器部分文件目录如下图所示: 解码器分为音频解码器和视频解码器.在这里我们看一下视频解码器中的FFMPEG解码器.对应DVDVideoCodecFFmpeg.h和DVD…
前文分析了XBMC的整体结构以及皮肤部分: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) 本文以及以后的文章主要分析XBMC的VC工程中的源代码.XBMC源代码体积庞大,想要完全分析所有代码是比较困难的.在这里我们选择它和音视频编解码有关的部分进行分析.在本文里,我们主要分析其核心部分(core)代码. 核心部分(core)源代码结构如图所示: 我目前理解的有以下3个,其他的有时间研究后再补上: AudioEngine:音频引擎.其封装了所有…
1:整体结构以及编译方法 XBMC(全称是XBOX Media Center)是一个开源的媒体中心软件.XBMC最初为Xbox而开发,可以运行在Linux.OSX.Windows.Android4.0系统.我自己下载了一个然后体验了一下,感觉确实不错,和Windows自带的媒体中心差不多. XBMC项目首页:http://xbmc.org/ XBMC差不多是我接触到的开源多媒体项目中体积最大的了.但是它的编译方法却出乎意料的简单.我按照它的Wiki上面说的步骤去做,非常顺利的完成了编译,没有遇到…
XBMC(全称是XBOX Media Center)是一个开源的媒体中心软件.XBMC最初为Xbox而开发,可以运行在Linux.OSX.Windows.Android4.0系统.我自己下载了一个然后体验了一下,感觉确实不错,和Windows自带的媒体中心差不多. XBMC项目首页:http://xbmc.org/ XBMC差不多是我接触到的开源多媒体项目中体积最大的了.但是它的编译方法却出乎意料的简单.我按照它的Wiki上面说的步骤去做,非常顺利的完成了编译,没有遇到任何错误,赞一个. 下面简…
XBMC分析系列文章: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 XBMC源代码分析 4:视频播放器(dvdplayer)-解码器(以ffmpeg为例) 本文我们分析XBMC中视频播放器(dvdplayer)中的解复用器部分.由于解复用器种类很多,不可能一一分析,因此以ffmpeg解复用器为例进行分析. XBMC解复用器部分文件目录如下图所示: 在这里我们看一下解复用器中的FFMPEG解…
android-plugmgr是一个Android插件加载框架,它最大的特点就是对插件不需要进行任何约束.关于这个类库的介绍见作者博客,市面上也有一些插件加载框架,但是感觉没有这个好.在这篇文章中,我们将不仅止于原理,对源代码的具体实现进行分析.文章中涉及的代码可从https://github.com/kissazi2/AndroidDemo/tree/master/PlugLoadDemo下载,基于Android Studio 1.2编译. 在正式开始分析源代码之前,我们首先需要有一些动态加载…
徐明明博客:Twitter Storm源代码分析之ZooKeeper中的目录结构 我们知道Twitter Storm的所有的状态信息都是保存在Zookeeper里面,nimbus通过在zookeeper上面写状态信息来分配任务,supervisor,task通过从zookeeper中读状态来领取任务,同时supervisor, task也会定义发送心跳信息到zookeeper, 使得nimbus可以监控整个storm集群的状态, 从而可以重启一些挂掉的task.ZooKeeper 使得整个sto…