Table of contents
Collapse the table of content
Expand the table of content

Policy for Sample Rate Conversion of Audio Streams

Last Updated: 10/10/2016

This section describes the policy that the KMixer system driver follows for sample-rate conversion (SRC).

KMixer does SRC on audio streams only if it must do so to match the sample rate of more than one stream. Most applications that use more than one audio stream use the same sample rate for each stream. However, KMixer uses the following client-based policy to match sampling rates:

  • DirectSound clients

    For rendering streams, the Windows multimedia control panel (Mmsys.cpl) gives a user some control over which type of SRC the KMixer driver uses with DirectSound. The slider shown in the Advanced Audio Properties dialog (see DirectSound Hardware-Acceleration and SRC Sliders) assigns the settings Good through Best to linear interpolation, multipoint interpolation, and high-end multipoint interpolation, respectively. Linear interpolation is the default for the DirectSound versions that ship with Microsoft Windows 98/Me and Windows 2000. In Windows XP and later, the default is high-end multipoint interpolation.

    For DirectSound capture streams, KMixer always uses high-end multipoint interpolation.

  • All other audio stream clients

    The KMixer driver always uses high-end multipoint interpolation for render and capture streams that are associated with the Windows Multimedia functions (which include the waveOut API), Redbook CD, and the Sound Blaster emulator and software synthesizer.

The following table categorizes types of Windows audio applications and the system component that each type of application uses.

Audio ApplicationSystem Component

Windows Sound Recorder

Windows Multimedia (Winmm.sys)

Windows Media Player

DirectSound (Dsound.dll)

DirectX titles, including most games


Most high-end wave editors

Windows Multimedia

Note that in Windows 98/Me, the Windows Multimedia functions are implemented in Mmsystem.dll. In Windows 2000 and later, the Windows Multimedia functions are implemented in Winmm.sys, and calls from 16-bit applications to Mmsystem.dll thunk to 32-bit calls to Winmm.sys. For more information about thunking calls from 16-bit code to 32-bit functions, see the Microsoft Windows SDK documentation.

Send comments about this topic to Microsoft

© 2017 Microsoft