KSAUDIO_PACKETSIZE_CONSTRAINTS2 structure (ksmedia.h)

The KSAUDIO_PACKETSIZE_CONSTRAINTS2 structure describes the physical hardware constraints. It includes an array of 0 or more KSAUDIO_PACKETSIZE_PROCESSINGMODE_CONSTRAINT structures describing constraints specific to any signal processing modes. The driver sets this property before calling PcRegisterSubdevice or otherwise enabling its KS filter interface for its streaming pins.

Syntax

typedef struct _KSAUDIO_PACKETSIZE_CONSTRAINTS2 {
  ULONG                                        MinPacketPeriodInHns;
  ULONG                                        PacketSizeFileAlignment;
  ULONG                                        MaxPacketSizeInBytes;
  ULONG                                        NumProcessingModeConstraints;
  KSAUDIO_PACKETSIZE_PROCESSINGMODE_CONSTRAINT ProcessingModeConstraints[ANYSIZE_ARRAY];
} KSAUDIO_PACKETSIZE_CONSTRAINTS2;

Members

MinPacketPeriodInHns

The absolute minimum processing period supported by the driver expressed in hundred-nanosecond (HNS) units. This value can be 0 if the driver has no specific minimum processing period.

PacketSizeFileAlignment

The byte size alignment requirement. Use one of these defined file alignment values:

FILE_BYTE_ALIGNMENT

FILE_WORD_ALIGNMENT

FILE_LONG_ALIGNMENT

FILE_QUAD_ALIGNMENT

FILE_OCTA_ALIGNMENT

FILE_32_BYTE_ALIGNMENT

FILE_64_BYTE_ALIGNMENT

FILE_128_BYTE_ALIGNMENT

FILE_256_BYTE_ALIGNMENT

FILE_512_BYTE_ALIGNMENT

MaxPacketSizeInBytes

The absolute maximum packet size supported by the driver in bytes. This can be zero if the driver has no specific maximum packet size. This size should at least be large enough to support 10 ms buffer of any format supported by the pin. This size should also be greater or equal to MinPacketSize constraints.

NumProcessingModeConstraints

The number of additional constraints for specific processing modes. This value can be 0.

ProcessingModeConstraints[ANYSIZE_ARRAY]

An array of 0 or more processing mode constraints.

Remarks

The driver sets this variable length data structure as the value of the DEVPKEY_KsAudio_PacketSize_Constraints2 property on the PnP interface of the KS filter that has the streaming pins with the constraints.

For WaveRT drivers, this data structure describes the constraints for a WaveRT packet. Several WaveRT packets (typically 2) are concatenated to form the WaveRT buffer.

The KSAUDIO_PACKETSIZE_CONSTRAINTS2 struct is available beginning with Windows 10, version 1607.

Requirements

Requirement Value
Minimum supported client Windows 10
Minimum supported server Windows Server 2016
Header ksmedia.h