DirectShow 01

1 Filter 
source,transform,render,splitter,mux
2 Filter Graph Manage
状态,参考时钟,连接,事件
3 Media Type
AM_MEDIA_TYPE
类型,子类型,sample是大小否固定,sample大小,是否压缩,内存块格式,大小,指针
4 Sample
指向未发送内存的指针,时间戳,一些标志,媒体类型(一般类型不变,没有这个变量)
5 Allocator
两个Pin连接,必须有一个Pin提供Allocator。
流开始之前,Allocator会创建一个内存池,开始发送数据后,Source Filter将数据填充到内存池中一个空闲的buffer,然后传递给下面的Filter。
Source Filter并不是直接把buffer的指针传递下去,而是通过Sample,Allocator创建Sample来管理内存。
Allocator通过Sample的引用计数防止buffer冲突,当所有Filter都释放了对Sample的引用,Sample才返回内存池。
6 DirectShow提供硬件访问
DirectShow工作在UerMode Ring 3
硬件工作在KernelMode Ring0
VFM,WDM等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值