- Windows legacy audio components
"This article is in regard to the different deprecated audio components in older versions of
Microsoft Windows .Windows Vista contains an overhauled entirely different audio architecture."Audio Compression Manager
Audio Compression Manager (ACM) is the Windows
multimedia framework that manages audio codecs (compressor/decompressors). ACM can also be considered an API specification. A codec must conform to the implicit ACM specification to work with Windows Multimedia. ACM files can be recognized by their filename extension.acm
.ACM is considered an outdated framework/API and Microsoft now encourages the use of
DirectShow . However, unlike ACM and the related Video Compression Manager (VCM),DirectShow provides no means to encode files for end-users but requires developers to build end-to-end graphs for encoding content. ACM also does not support VBR audio streams; therefore newer codecs likeMPEG-4 AAC,Ogg Vorbis ,FLAC etc. cannot be supported through ACM if using variable bitrates. Though many sources state the contrary, Ogg Vorbis does work well with the ACM, e.g. when embedded in a RIFF file (such as aWAV orAVI file), provided the Ogg Vorbis stream is encoded at a constant bitrate.KMixer
KMixer is the "Kernel Audio Mixer" driver, a part of WDM Audio in various version of
Microsoft Windows which handles the mixing of multiple sound buffers into an output.The tasks performed by KMixer.sys:
* Mixing multiple PCM audio streams
* Format, bit-depth and sample-rate conversion
* Speaker configuration and channel mappingControversies
The KMixer was designed to aid the applications by relieving them from the need to perform the mixing of audio streams, especially on low-end sound cards that didn't support multiple sound streams. However, it introduced some significant problems.
First, the latency of KMixer is around 30 ms and it cannot be reduced, because this component sits just right above the port class audio driver, so every audio stream, including those issued by
DirectSound (except in cases of hardware mixing) andWinMM , come through the kernel mixer.Then, KMixer tried to mix every data format that passed through it, even those it did not support. It caused various problems with movie players that tried to pass
AC3 -encodedsurround sound streams throughS/PDIF output of the sound card to an externalhome cinema receiver.A new kernel-mode API, Direct Kernel Streaming, had to be introduced in order to bypass the KMixer and avoid problems associated with it.
The Kernel Mixer is absent from
Windows Vista , which features a revamped audio architecture.The High Definition Audio Bus has replaced kernel streaming and all other audio architectures. It supports multiple streams and encryption, thus making DRM easy to implement.
DirectX Sound Libraries
"Please refer to
DirectSound ,DirectSound3D , andDirectMusic "External links
* [http://msdn2.microsoft.com/en-us/library/ms789343.aspx Information on Kmixer at Microsoft website]
* [http://wiki.silverblade.co.uk/index.php?title=ReactOS:Sound:Kernel_Streaming Kernel Streaming components]
* [http://wiki.silverblade.co.uk/index.php?title=ReactOS:Sound:Multimedia_Extensions_%28MME%29 MME API (WinMM)]See also
* Windows Vista audio architecture
*DirectX
*Universal Audio Architecture
Wikimedia Foundation. 2010.