DirectShow 12 - 过滤器连接和模式
来源:互联网 发布:淘宝转化率0.004正常吗 编辑:程序博客网 时间:2024/06/10 05:55
Filter的连接:
通过视图管理器连接相应的Pin。
Pin连接中的内存分配:
Pin之间的内存交互机制:局部内存交换机制。
在局部存储器传输中,负责分配内存的对象称为allocator。
每个allocator 都支持一个IMemAllocator 接口,所有的pin 都共享一个allocator。
每个allocator 都支持一个IMemAllocator 接口,所有的pin 都共享一个allocator。
每个pin 都提供一个allocator,但是输出pin 选择使用哪个allocator
推模式:IMenInputPin
1 首先,输出pin 调用IMemInputPin::GetAllocatorRequirements,这个方法检查输入pin 对内存的要求,比如内存的队列,
一般来说,输出pin 要满足输入pin 对内存的要求。
2 输出pin 然后调用IMemInputPin::GetAllocator.,这个方法从输入pin 请求一个allocator,
3 输出pin 选择一个allocator,可以是输入pin 提供,也可以是自己生产的。
4 输出pin 调用IMemAllocator::SetProperties 来设置allocator 的属性。
5 然后输出pin 通过IMemInputPin::NotifyAllocator 来通知输入pin,选择的allocator。
6 输入pin 通过IMemAllocator::GetProperties 来检查是否能够接受allocator 的属性。
7 当数据流开始和停止的时候,输出pin 负责提交allocator。
2 输出pin 然后调用IMemInputPin::GetAllocator.,这个方法从输入pin 请求一个allocator,
3 输出pin 选择一个allocator,可以是输入pin 提供,也可以是自己生产的。
4 输出pin 调用IMemAllocator::SetProperties 来设置allocator 的属性。
5 然后输出pin 通过IMemInputPin::NotifyAllocator 来通知输入pin,选择的allocator。
6 输入pin 通过IMemAllocator::GetProperties 来检查是否能够接受allocator 的属性。
7 当数据流开始和停止的时候,输出pin 负责提交allocator。
拉模式:IAsyncReader
1 输入pin 调用输出pin 上的IAsyncReader::RequestAllocator,输入pin 确定内存的属性,并提供一个allocator。
2 输出pin 选择一个allocator,
3 输入pin 检查
2 输出pin 选择一个allocator,
3 输入pin 检查
0 0
- DirectShow 12 - 过滤器连接和模式
- DirectShow 07 -系统设备和过滤器
- DirectShow 视频捕获(4) 过滤器连接过程概述
- DirectShow--过滤器图表(Filter Graph)和它的组件
- directshow学习笔记一-----DirectShow过滤器分类
- DirectShow 10 - 过滤器开发流程
- 代理模式和拦截过滤器模式
- DirectShow连接Crossbar
- directshow 连接filter
- DirectShow 视频捕获(7) 推和拉模式
- 拦截过滤器模式和数据规则
- 过滤器模式
- 过滤器模式
- 过滤器模式
- 过滤器模式
- 过滤器模式
- DirectShow中注册过滤器的方法
- directshow一些过滤器的简要说明
- DirectShow 07 -系统设备和过滤器
- DirectShow 08 - VCR控制
- DirectShow 09 - 音视频捕捉
- DirectShow 10 - 过滤器开发流程
- DirectShow 11 -类工厂的实现
- DirectShow 12 - 过滤器连接和模式
- 《复制猫营销101》 贝克.哈吉斯
- 《奔奔族理财》 周一
- <一生的理财计划> 王再全
- 小狗钱钱
- 穷爸爸富爸爸
- ISMA
- COM技术内幕
- 视频编码(H264概述)