KMixer Driver Sample Rate Conversion and Mixing Policy

This section describes the sample-rate conversion and mixing policy of the KMixer system driver. KMixer is the kernel-mode system component that performs mixing of kernel-streaming (KS) audio streams.

KMixer can mix playback audio streams from clients such as DirectSound or waveOut application programs. The streams can be in different wave PCM formats with a variety of sample rates, sample sizes, and channel counts. Samples can be expressed as integer or floating-point values. KMixer generates a mixed stream in a format that the downstream filter, which is typically an audio rendering device, can handle.

KMixer can also perform format conversion (but no mixing) of a capture stream. KMixer inputs the capture stream from an audio capture device and converts it to a format that a client such as a DirectSoundCapture or waveIn application program can handle.

This section discusses the following topics:

Types of Sample Rate Conversion

Policy for Sample Rate Conversion of Audio Streams

Policy for Mixing Audio Streams and Setting the Output Sample Rate

How KMixer Handles Set-Format Requests

KMixer Volume and Mute Controls