DirectShow技术介绍(长篇)-4

本文详细介绍了DirectShow中构建Filter Graph的过程,包括Filter Graph Manager、Capture Graph Builder等组件的作用,以及智能连接算法。重点讲解了如何通过IGraphBuilder接口的方法如Render、AddFilter等构建和连接filter,强调了智能连接在选择和添加filter中的策略。
摘要由CSDN通过智能技术生成

3.3. 构建Filter Graph

3.3.1. 用于构建Graph的组件

     DirectShow提供了一系列用于构建filter graph的组件,包括:

    Filter Graph Manager。这个对象用于控制filter graph,支持IGraphBuilderIMediaControlIMediaEventEx等许多接口。所有的directshow应用程序都需要在某些地方用到这个对象,虽然在有些情况下,是其它的对象为应用程序创建了filter graph manager

    Capture Graph Builder。这个对象为构建filter graph提供附加的方法。它最初是为构建提供视频采集的graph而设计的(这正是它的名字由来),但是对于构建许多另外类型的filter graph也是很有用的。它支持ICaptureGraphBuilder2接口。

    Filter MapperSystem Device Enumerator。这些对象用于查找在系统中注册的或代表硬件驱动的filter

    DVD Graph Builder。这个对象构建用以回放和导航DVDfilter graph。它支持IDvdGraphBuilder接口。基于脚本的应用程序能够使用MSWebDVD ActiveX控件来控制DVD回放。

    Video ControlWinXP提供这个ActiveX控件,用于操纵directshow中的数据和模拟电视。

   

    智能连接(Intelligent Connect

     智能连接这个术语覆盖了一系列Filter Graph Manager用于构建所有或部份filter graph的算法。任何时候,当Filter Graph Manager需要添加filter来完成graph时,它大致做以下几件事情:

     1.如果有一个filter存在于graph中,而且这个filter有至少一个没有连接的input pinFilter Graph Manager试着去试用这个filter

     2.否则,Filter Graph Manager在已注册的filter中寻找连接时可以接受合适的媒体类型的filter。每一个filter都注册有一个Merit值,这个值用以标记哪个filter最容易被Filter Graph Manager选中来完成graphFilter Graph ManagerMerit值的顺序来选择filterMerit值越大,被选中的机会越大。对于每种流类型(如音频、视频、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值