17、深入探索DirectShow中的Sample Grabber过滤器

深入探索DirectShow中的Sample Grabber过滤器

1. DirectShow转换过滤器概述

DirectShow转换过滤器是所有DirectShow应用程序的主要构建模块。其结构易于理解,实现也较为直接。转换过滤器的实现主要包括几个用于协商过滤器可接受的媒体类型的方法、计算输出引脚的缓冲区分配,以及特定的转换功能。

例如,YUVGray转换过滤器清晰地展示了转换过滤器的媒体协商、分配和转换特性,并且为开发者提供了一个易于修改的代码基础,方便创建自己的转换过滤器。它还可以轻松扩展以支持其他视频流类型,如RGB,通过添加一些额外的代码,该过滤器甚至可以实时进行流类型之间的转换。

2. Sample Grabber过滤器介绍

在许多Microsoft DirectShow应用程序中,创建转换过滤器会带来诸多好处,但转换过滤器的测试往往颇具难度。程序员通常需要构建第二个过滤器来测试第一个过滤器的输出。而DirectShow的Sample Grabber过滤器正好满足了这一需求,并且它的用途远不止于测试。

Sample Grabber是一个标准的转换过滤器,它本身不会对通过它的媒体样本进行任何处理。但它会向实例化它的任何DirectShow应用程序公开ISampleGrabber接口,这使得应用程序能够“挂钩”到媒体流中。由于在媒体流中放置Sample Grabber的限制较少,所以可以使用它来检查几乎任何上游过滤器的输出。不过需要注意的是,它既不是源过滤器也不是渲染器过滤器,因此包含Sample Grabber的任何过滤器图形都必须同时具备源过滤器和渲染器过滤器。

Microsoft DirectX SDK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值