您的位置:首页 > 其它

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实现。连接总是由另一个线程完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: