流同步

DVD 流输入可能由两个或多个流组成。 流类驱动程序可以代表 DVD 解码器微型驱动程序以透明方式处理同步。 有关详细信息,请参阅 微型驱动程序同步。 程序员仍必须了解影响 DVD 流的几个因素,包括:

  • 音频流必须提供主时钟,并且必须在没有数据时合成时钟。 当音频数据停止时,音频流根据 KeQueryPerformanceCounter 返回的速率匹配和时钟频率使用系统时钟。 所有其他流必须充当音频的从属流。 也就是说,它们将其性能同步到音频流。

  • 在用户模式下必须支持软件音频解码器。 时钟转发器 DirectShow 筛选器将 DirectShow 时钟转发到微型驱动程序。 这是对微型驱动程序透明的。

  • 解码器不应使用主要基本流中的时间戳 (PES) 标头。

  • 同步中不使用系统时钟引用 (SCR) 。 DVD PACK 的 SCR 字段设置为零,因为 Microsoft 的 DVD 体系结构使用“主时钟”范例进行音频和视频同步。

  • 微型驱动程序看不到时间戳不连续。 DVD 导航器/拆分器使所有时间戳是连续的。

如果解码器为音频和视频提供解码功能,则仅当音频流作为系统主时钟打开时,解码器才可使用硬件同步。 如果音频流不是主时钟,则视频流必须将视频解码同步到流类主时钟。