时钟时间

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

DirectShow 定义了两个相关的时钟时间:引用时间和流时间。

  • 引用时间 是引用时钟返回的绝对时间。 (请参阅 参考时钟.)
  • 流时间 相对于图形上次开始运行的时间进行定义。
    • 当图形运行时,流时间等于引用时间减去开始时间。
    • 当图形暂停时,流时间将停留在暂停的流时间。
    • 执行查找操作后,流时间将重置为零。
    • 当图形停止时,流时间未定义。

当媒体样本具有时间戳 t 时,这意味着应在流时间 t 呈现该示例。 因此,流时间也称为 演示时间

当应用程序调用 IMediaControl::Run 来运行筛选器图时,Filter Graph 管理器在每个筛选器上调用 IMediaFilter::Run 。 为了补偿筛选器开始运行所花费的轻微时间,Filter Graph 管理器在将来会稍微指定一个启动时间。

DirectShow 中的时间和时钟

时间戳