ICaptureGraphBuilder::RenderStream 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
语法
HRESULT RenderStream(
[in] const GUID *pCategory,
[in] IUnknown *pSource,
[in] IBaseFilter *pfCompressor,
[in] IBaseFilter *pfRenderer
);
参数
[in] pCategory
指向 GUID 的指针,指定要连接的源筛选器的输出引脚。 有关所有固定类别的列表,请参阅 固定属性集 。 NULL 表示呈现唯一的输出引脚,而不考虑类别。
[in] pSource
指向表示源筛选器或输出引脚的 IBaseFilter 或 IPin 接口的指针。 源筛选器通常是文件源筛选器,例如 AVI 文件源筛选器或捕获筛选器。
[in] pfCompressor
指向表示可选压缩筛选器的 IBaseFilter 接口的指针。
[in] pfRenderer
指向表示呈现 器 IBaseFilter 接口的指针。 可以使用 ICaptureGraphBuilder::SetOutputFileName 中的 ppf (多路复用器) 参数来提供此值。
返回值
如果捕获筛选器具有捕获引脚但没有预览引脚,并且你使用捕获引脚上的 &PIN_CATEGORY_PREVIEW 类别调用 RenderStream
,则返回VFW_S_NOPREVIEWPIN。 在这种情况下, RenderStream
将呈现 智能 Tee 筛选器的预览图钉。 有关详细信息,请参阅“备注”。
注解
如果为 pCategory 指定非 NULL引脚属性集 GUID,并为 pSource 指定捕获筛选器,此方法将实例化并连接其他必需的上游筛选器,例如电视调谐器和横杠。 然后,它呈现 pSource 的捕获引脚。
如果 pSource 是一个引脚,则为 pCategory 指定 NULL,此方法将呈现来自该引脚的流。
如果源筛选器只有一个输出引脚,请为 pCategory 指定 NULL。
在调用此方法之前,必须以参数的形式提供 pSource、pfCompressor 和 pfRenderer 筛选器。
如果要生成使用 WDM 捕获筛选器的捕获图,此方法将生成所有必要的上游筛选器以及下游筛选器。
某些与新的 WDM VPE (视频端口扩展) 视频捕获硬件配合使用的捕获筛选器具有视频端口引脚,而不是用于预览的预览引脚。 视频端口引脚不会直接连接到视频呈现器,而是连接到名为 “覆盖混合器”的特殊筛选器。 应用程序无需担心此问题。 只需 RenderStream
使用PIN_CATEGORY_PREVIEW调用,捕获图生成器将通过覆盖混音器正确呈现 VIDEO PORT 引脚(如果这是必要的)。
当使用 RenderStream
PIN_CATEGORY_CAPTURE 或 PIN_CATEGORY_PREVIEW 类别 (呈现视频捕获筛选器的捕获或预览固定) 并且捕获筛选器具有捕获固定但没有预览固定时, 智能 Tee 筛选器将自动用于允许同时捕获和预览。 例如,使用 PIN_CATEGORY_CAPTURE 类别调用 RenderStream
实际上会将 Smart Tee 筛选器连接到筛选器的捕获引脚,然后呈现 Smart Tee 的捕获引脚。 如果随后使用捕获图钉上的PIN_CATEGORY_PREVIEW类别调用 RenderStream
,它将实际呈现 Smart Tee 的预览图钉。 如果使用 PIN_CATEGORY_PREVIEW调用 RenderStream
导致使用捕获引脚和 Smart Tee 筛选器, RenderStream
将返回VFW_S_NOPREVIEWPIN来指示这一点。 因此,如果 FindInterface 找不到预览接口,则可能需要使用PIN_CATEGORY_PREVIEW类别和PIN_CATEGORY_CAPTURE类别调用 FindInterface ,因为预览接口可以通过查找捕获筛选器的捕获引脚的下游找到。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |