Windows Vista has an all new audio subsystem. Much of the audio streaming functionality formerly done in kernel mode is being replaced with all new components in user mode. The new UMA engine achieves much better reliability (far fewer blue screens) and is less susceptible to other CPU loads and I/O stresses. It also typically achieves lower latency and avoids various glitch issues.
The numerous kernel-mode components currently used in Windows XP are going away—components such as Kmixer.sys, Sysaudio.sys, and so on are no longer needed. These functions will be provided by the UMA subsystem. Existing applications and drivers will continue to work. It is also much easier for third parties to extend the functionality, because they now need to write only user-mode extensions.
The new audio engine is basically a set of building-block primitives that provide various types of audio signal processing. These building blocks are used to construct the system-wide audio services that the PC requires. This includes both audio capture functions and audio rendering.
Most audio applications communicate with the higher-level APIs instead of communicating directly with the core audio APIs. However, third-party software developers creating applications for professionals or who want to invent their own interfaces can communicate directly with the core audio APIs, if they want to. This is part of Microsoft’s goal to provide extensible mechanisms for third parties to innovate on the Windows platform.
|