KSPROPERTY_RTAUDIO_SETWRITEPACKET

KSPROPERTY_RTAUDIO_SETWRITEPACKET 通知驱动程序,操作系统已经将有效的数据写入了 WaveRT 缓冲区。

使用情况摘要表

获取 设置 目标 属性描述符类型 属性值类型
固定 KSPROPERTY KSRTAUDIO_SETWRITEPACKET_INFO

属性描述符(实例数据)是 KSPROPERTY 结构。 在发送请求之前,客户端会加载包含数据包数、数据包长度和其他信息的值的结构。

属性值是 KSRTAUDIO_SETWRITEPACKET_INFO 类型的结构。

返回值

KSPROPERTY_RTAUDIO_SETWRITEPACKET 属性请求返回 STATUS_SUCCESS,以指示已成功完成。 否则,请求将返回适当的故障状态代码。

注解

如果支持此 KSPROPERTY,则驱动程序可以选择使用提供的信息来优化硬件传输。 例如,驱动程序可以优化 DMA 传输,或者在操作系统没有再次调用该例程以通知驱动程序另一个数据包的情况下,对硬件进行编程以在指定数据包结束时停止传输。 这可以减轻下溢的听觉效果,例如引入听觉间隙而不是重复循环缓冲。 然而,驱动程序仍然有义务以标称的实时速率增加其内部数据包计数器和信号通知事件。

除非操作系统指定 KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM 标志,否则数据包大小是 WaveRT 缓冲区大小除以传递给 KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION 的 NotificationCount。

根据硬件功能,如果指定了 KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM 标志,则在硬件传输数据超出 EOS 位置的情况下,驱动程序可能会静默填充 EOS 数据包后面的 WaveRT 缓冲区的一部分。

要求

版本

适用于 Windows 10 及更高版本的 Windows 操作系统。

标头

Ksmedia.h

另请参阅

KSPROPERTY_RTAUDIO_GETREADPACKET

UsePositionLock