InfTee 筛选器示例

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

说明

InfTee 筛选器提供了 DirectShow Infinite Pin Tee 筛选器的示例实现。 筛选器具有一个输入引脚和动态数量的输出引脚。 发送到筛选器的所有媒体样本都是从所有输出引脚同时传送的。

此筛选器显示在 GraphEdit 中,名称为“Sample Infinite Pin Tee”,以将其与 DirectShow 中提供的标准 Infinite Pin Tee 筛选器区分开来。

使用情况

由于此筛选器不会更改它接收的数据,因此所有引脚必须同意相同的媒体类型。 在连接过程中,筛选器可能会重新连接某些引脚,以使媒体类型匹配。

到达输入引脚的数据在发送到输出引脚之前不会复制。 筛选器还确保将数据传递到下游筛选器,以确保两个输出都能及时收到服务。 具体而言,如果其中一个输出可以在 COutputQueue::Receive 成员函数中阻止,则发条会旋转线程来传递示例。 如果没有线程来传递示例,则将样本传送到 tee 输入引脚的线程可能会将数据传递到下游筛选器:此时,它可能会阻止,长期保留来自其他下游筛选器的数据。

下载示例

若要下载 DirectShow SDK 示例,请安装最新版本的 Windows SDK

此示例安装在以下路径下: [SDK 根]\Samples\Multimedia\DirectShow\Filters\InfTee。

DirectShow 示例