DirectShow 智能连接

智能连接是DirectShow Filter Graph Manager构建过滤器图形的关键机制,涉及IGraphBuilder的多个方法,如AddSourceFilter、Render、RenderFile和Connect。这些方法通过查找、匹配和连接过滤器来构建和渲染图形。在Windows 7及以上版本,DirectShow考虑了媒体子类型的首选过滤器列表和IFilterMapper2枚举匹配过滤器。
摘要由CSDN通过智能技术生成

    智能连接是Filter Graph Manager用于构建过滤器图形的机制。 它由几个相关的算法组成,选择过滤器并将它们添加到过滤器图形中。

    智能连接涉及以下IGraphBuilder方法:

  • IGraphBuilder::AddSourceFilter
  • IGraphBuilder::Render
  • IGraphBuilder::RenderFile
  • IGraphBuilder::Connect

 

IGraphBuilder::AddSourceFilter

    IGraphBuilder :: AddSourceFilter方法添加了一个可以渲染指定文件的源代码过滤器。 首先它在注册表中查找并匹配协议(如http://),文件扩展名或一组预定的校验字节,这些字节在文件中与特定模式相匹配的特定偏移处是字节。假设该方法找到合适的源过滤器,它将创建该过滤器的一个实例,将其添加到图形中,并使用文件名称调用过滤器的IFileSourceFilter :: Load方法。

 

IGraphBuilder::Render

    IGraphBuilder :: Render方法构建图的一个子部分。 它从未连接的输出引脚开始工作,并根据需要添加新的滤波器。 开始的过滤器必须已经在图中。 在每一步,Render方法都会搜索一个可以连接到前一个过滤器的过滤器。 如果连接滤波器具有多个输出引脚,则该流可以分支。 当每个流都有渲染器时,搜索停止。 如果Render方法卡住了,它可能会备份并再次尝试,使用一组不同的过滤器。要连接每个输出引脚,Render方法将执行以下操作:

  1.   如果该引脚支持IStreamBuilder接口&#x
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值