同步两个或多个流

SetDmaEngineState例程将一个或多个 DMA 引擎的状态设置为以下其中一项:正在运行、已暂停、已停止或重置。 如果调用此例程指定了多个 DMA 引擎,则所有 DMA 引擎都将同步进行状态转换。

某些音频应用程序需要同步一组流。 例如,音频驱动程序可以使用编解码器组合来创建用于连接两个音频编解码器的逻辑环绕声设备:一个编解码器驱动前扬声器,另一个音频编解码器用于驱动背面的扬声器。 根据编解码器的功能,可能需要音频驱动程序将原始环绕声音频流拆分为两个流,每个流对应一个编解码器。 通过使用 SetDmaEngineState 例程来以统一方式启动和停止流,两个流可以保持同步。

即使少数示例允许两个流不同步,可能会导致意外的音频项目。

这两个版本的 HD audio DDI 都提供 SetDmaEngineState 例程。

UAA 高质音频类驱动程序不执行编解码器组合。