IMediaFilter::Run 方法 (strmif.h)

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

方法 Run 运行筛选器。

语法

HRESULT Run(
  REFERENCE_TIME tStart
);

参数

tStart

与流时间 0 对应的引用时间。

返回值

返回 HRESULT 值。 可能的值包括下表中显示的值。

返回代码 说明
S_FALSE
转换未完成。
S_OK
成功。 转换已完成。

注解

筛选器运行时,它可以接收、处理和传递示例。 源筛选器生成新样本,呈现器筛选器呈现它们。

状态转换可能是异步的。 如果 方法在转换完成之前返回 ,则返回值S_FALSE。

Stream时间计算为当前参考时间减去 tStart。 为了计算应何时呈现媒体样本,呈现器会将时间戳与当前流时间进行比较。 因此,时间戳为零的媒体示例应在时间 tStart 呈现。 有关详细信息,请参阅 DirectShow 中的时间和时钟

当应用程序调用 IMediaControl::Run 方法时,Filter Graph 管理器将在每个筛选器上调用 IMediaFilter::Run 。 它会在将来稍微设置 tStart 的值,以考虑图形延迟。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 strmif.h (包括 Dshow.h)
Library Strmiids.lib

另请参阅

错误和成功代码

IMediaFilter 接口