direct access to the hardware. Kernel Streaming Kernel Streaming or Direct Kernel streaming (Direct KS) is a technique that supports kernel-mode processing of streamed data. It enables efficient real-time streaming for multimedia devices such as sound cards and TV tuner cards. Kernel streaming allows a device driver to create DirectShow-like filters and pins in kernel mode, providing access to hardware, lower latency communication and still be used within a DirectShow filter graph. Kernel streaming was introduced in Windows 98. When the sound card uses a custom driver for use with the system supplied port class driver PortCls.sys or implements a mini-driver for use with the streaming class driver, applications can bypass the KMixer completely and use the kernel streaming interfaces instead to directly interact with audio driver and reduce latency. Windows 98 includes the first kernel streaming driver, Stream.sys. In Windows XP, Microsoft introduced another improved kernel streaming class driver, AVStream. Music players such as JRiver Media Center, JPLAY, foobar2000, Audirvana Studio and Winamp support kernel streaming. Compared to the regular "WaveOut method" in Microsoft Windows, kernel streaming requires less CPU time. This comes at the expense of bypassing the KMixer and Windows volume control. Kernel streaming also does not allow device sharing unless kernel-mode audio driver supports multiple clients. Prior to Windows Vista, Kernel Streaming offered only a single client-to-driver communication protocol with buffer chain, as used in MME. Starting from Vista, new Real-Time Audio (RT Audio, not to be confused with the RTAudio codec) protocol is introduced, based on a single circular buffer. RT Audio protocol is implemented by WaveRT port driver in portcls.sys. In Vista and later versions, Audio Subsystem supports both protocols so it can interact with both legacy and new audio drivers. But most audio applications that use KS support only a single protocol (legacy in most cases) so they can communicate only with a single type of audio drivers. See also WDM audio in Windows 98 Windows Vista audio architecture DirectX Universal Audio Architecture (UAA) References External links Information on Kmixer at Microsoft website KMixer Latency at Microsoft website MS ACM Drivers(Codecs) Details How to write Microsoft Audio Compression Manager Codec (Installable Driver) foobar2000 plug-in — Kernel Streaming plug-in for foobar2000 Winamp Kernel Streaming Plugin Broken links Kernel Streaming components MME API (WinMM) Kernel Streaming components (documented for re-implementation in ReactOS) Music software plugin architectures Windows audio