时钟时间

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

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

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

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

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

DirectShow 中的 时间和时钟

时间戳