KSRTAUDIO_BUFFER_PROPERTY structure

The KSRTAUDIO_BUFFER_PROPERTY structure appends a buffer base address and requested buffer size to a KSPROPERTY structure. This structure is used by the client to request allocation of the audio buffer via KSPROPERTY_RTAUDIO_BUFFER.

Syntax

typedef struct {
  KSPROPERTY Property;
  PVOID      BaseAddress;
  ULONG      RequestedBufferSize;
} KSRTAUDIO_BUFFER_PROPERTY, *PKSRTAUDIO_BUFFER_PROPERTY;

Members

Property
A KSPROPERTY structure that the client initializes appropriately prior to calling KSPROPERTY_RTAUDIO_BUFFER.

BaseAddress
Specifies the desired buffer base address. Unless the client specifies a base address, this parameter is set to NULL.

RequestedBufferSize
Specifies the desired buffer size in bytes. The driver returns the actual size of the allocated buffer in the KSRTAUDIO_BUFFER structure that it returns.

Remarks

The KSPROPERTY_RTAUDIO_BUFFER request uses the KSRTAUDIO_BUFFER_PROPERTY structure to describe the cyclic buffer that the client requests. The driver returns a KSRTAUDIO_BUFFER structure to describe the buffer that was actually allocated.

The value that the client writes into the RequestedBufferSize member is not binding on the driver. However, the driver must specify a buffer size that is as close as possible to the requested size, taking into account the buffer size constraints on the driver itself. The driver allocates a buffer of a different size if the hardware cannot handle the requested size or the system is low on memory. For example, a driver allocates a buffer no smaller than a memory page, or it rounds the buffer size down to the next whole sample block. Also, if the system is running low on memory, the driver allocates a buffer that is smaller than the requested size.

Requirements

Version

Available in Windows Vista and later Windows operating systems.

Header

Ksmedia.h