媒体播放器
__cc__
这个作者很懒,什么都没留下…
展开
-
VLC播放引擎架构
VLC虽然是用c代码实现的,但是在代码编写上遵循了面向对象原则,易修改和扩展。不过实话实说,结构之间的关联太过于频繁,理解上还是不太容易。如果能够改成c++那是最好不过了。 对于媒体播放器,肯定离不开解复用,解码,音频和视频输出这四个模块,不管是DirectShow,还是VLC,或者自己要开发一个播放器,都是如此。媒体播放器的差异主要存在于模块之间的通信方式,界面消息处理上。Di原创 2014-03-04 15:03:10 · 5269 阅读 · 0 评论 -
数据流同步控制策略
数据流同步控制策略 数据处理过程实际就是数据流控制过程,在数据流控制过程中,如何确保模块之间的同步显得尤为重要。数据流同步控制策略主要有以下两种方式,如图1所示。1)数据同步:如图上部分所示。多采用FIFO队列实现,一般会使用信号量或者事件来同步,另外还会通过定时辅助优点:消耗系统资源较少,属于比较自然的协调方式。缺点:如果划分模块耗时不原创 2014-03-07 18:12:59 · 4551 阅读 · 1 评论 -
时间戳杂谈(二)
时间戳由时间基准和时间戳值组成。时间基准:对时间单位(s)划分的标准。例如,1/25表示每秒分为25个单位,每个单位时间间隔包含1个单位。3001/90000表示每秒分为90000单位,每个单位时间间隔包含3001个单位。时间戳值:基于时间基准的时间表示,也即多少个单位时间间隔。1)时间戳的作用是用于精确标记音视频流的相对位置和持续时间。2)基于时间基准使用时间戳,原创 2014-07-28 18:05:21 · 4044 阅读 · 1 评论