KSPROPERTY_RTAUDIO_SETWRITEPACKET

KSPROPERTY_RTAUDIO_SETWRITEPACKET informs the driver that the OS has written valid data to the WaveRT buffer.

Usage Summary Table

Get Set Target Property descriptor type Property value type
No Yes Pin KSPROPERTY KSRTAUDIO_SETWRITEPACKET_INFO

The property descriptor (instance data) is a KSPROPERTY structure. Before sending the request, the client loads the structure with values that include the packet number, packet length and other information.

The property value is a structure of type KSRTAUDIO_SETWRITEPACKET_INFO.

Return Value

A KSPROPERTY_RTAUDIO_SETWRITEPACKET property request returns STATUS_SUCCESS to indicate that it has completed successfully. Otherwise, the request returns an appropriate failure status code.

Remarks

If this KSPROPERTY is supported, the driver may optionally use the provided information to optimize the hardware transfer. For example, the driver might optimize DMA transfers, or program hardware to stop transfer at the end of the specified packet in case the OS does not call this routine again to inform the driver of another packet. This can mitigate audible effects of underflow, for example introducing an audible gap rather than repeating a circular buffer. The driver however is still obligated to increase its internal packet counter and signal notification events at a nominal real time rate.

Except when the OS specifies the KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM flag, the packet size is the WaveRT buffer size divided by the NotificationCount passed to KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION.

Depending on hardware capabilities, if the KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM flag is specified, the driver may silence-fill a portion of the WaveRT buffer that follows the EOS packet in case the hardware transfers data beyond the EOS position.

Requirements

Version

Available in Windows 10 and later Windows operating systems.

Header

Ksmedia.h

See also

KSPROPERTY_RTAUDIO_GETREADPACKET

UsePositionLock