DirectShow体系结构 之 Filter Graph Manager
2018-03-21 10:16
411 查看
Filter GraphManager是一个用以控制Filter Graph中的Filter的COM对象。它提供了许多功能,包括:协调Filter之间的状态变化;建立参考时钟;将事件返回给应用程序;提供建立Filter Graph的方法共应用程序调用。
1)状态变化:Filter的状态变化必须遵循一个特定的次序。因此,应用程序不能将状态变化的命令直接发给Filter,而是将一个单独的命令发给Filter Graph Manager,然后由Filter Graph Manager将命令分发给各个Filter。定位也是用相似的方法:应用程序发送一个定位命令给Filter Graph Manager,由它分发给各个Filter。
2)参考时钟:在Filter Graph中的所有Filter都使用一个相同的时钟,称为参考时钟。参考时钟保证了所有数据流的同步性。一个视频站或一个音频样本被播放的时间称作呈现时间。呈现时间精确地对应于参考时钟。
3)Graph事件:Filter Graph Manager使用一个消息队列来通知应用程序发生在Filter Graph中的事件。这种机制类似于windows消息循环。
4)Graph-building方法:Filter Graph Manager提供给应用程序可调用的方法,包括将Filter加入到Filter Graph中,将Filter与Filter连接或断开连接。
5
4000
)Filter Graph Manger不提供操作在Filter之间流动数据的功能,这个功能由Filter通过它们的Pin实现。连接总是由另一个线程完成。
1)状态变化:Filter的状态变化必须遵循一个特定的次序。因此,应用程序不能将状态变化的命令直接发给Filter,而是将一个单独的命令发给Filter Graph Manager,然后由Filter Graph Manager将命令分发给各个Filter。定位也是用相似的方法:应用程序发送一个定位命令给Filter Graph Manager,由它分发给各个Filter。
2)参考时钟:在Filter Graph中的所有Filter都使用一个相同的时钟,称为参考时钟。参考时钟保证了所有数据流的同步性。一个视频站或一个音频样本被播放的时间称作呈现时间。呈现时间精确地对应于参考时钟。
3)Graph事件:Filter Graph Manager使用一个消息队列来通知应用程序发生在Filter Graph中的事件。这种机制类似于windows消息循环。
4)Graph-building方法:Filter Graph Manager提供给应用程序可调用的方法,包括将Filter加入到Filter Graph中,将Filter与Filter连接或断开连接。
5
4000
)Filter Graph Manger不提供操作在Filter之间流动数据的功能,这个功能由Filter通过它们的Pin实现。连接总是由另一个线程完成。
相关文章推荐
- [DirectShow] 005 - About the Filter Graph Manager
- DirectShow编程(3.2)- 关于DirectShow - Filter Graph和它的组件
- DirectShow编程(3.2)- 关于DirectShow - Filter Graph和它的组件
- DirectShow编程(3.2)- 关于DirectShow - Filter Graph和它的组件
- [DirectShow] 008 - How Hardware Devices Participate in the Filter Graph
- 自建DirectShow Filter Graph的流程
- DirectShow--过滤器图表(Filter Graph)和它的组件
- DirectShow编程(3.2)- 关于DirectShow - Filter Graph和它的组件
- DirectShow删除链路 和 删除graph中的所有filter
- DirectShow编程(3.2)- 关于DirectShow - Filter Graph和它的组件
- 添加DMO到directshow filter graph中
- DebugInfoFIlter -- DirectShow调试工具
- 目前最好的DirectShow分离器和解码器: LAV Filter
- Spring的OpenEntityManagerInViewFilter
- DirectShow查找和某个filter的上下相连的filter
- 深入浅出DirectShow Filter(一)
- 关于使用DirectShow架构,传输YUV420数据的Filter与Video Renderer Filter连接问题的解决办法。
- Shiro随笔(2:探讨FilterChainManager)
- Enumerating Objects in a Filter Graph
- DirectShow入门之模拟构建Graph