Paul Abrams wrote:
The WaveRT port driver for Windows has a new interface that allows Windows Vista audio streaming technology. The WaveRT driver supports audio devices that can connect to a system bus, and can play back and or record wave data.
Windows Vista picks up where XP left off. Vista has the PortCls system driver, which provides a WaveRT port driver that gives the user real time performance, but instead uses a modified and simplified cyclic buffer for rendering or capturing audio stream. The WaveRT port driver also provides the generic system functionality for kernel streaming filter that represents the audio device like those in previous Windows versions such as Windows Server 2003 and Windows XP.
The miniports in Windows Vista now use the WaveRT port driver as the preferred wave port driver. It still supports WaveCyclic and WavePci miniport drivers.
By reducing the latency of audio streams, the WaveRT port driver uses real time scheduling support to deliver clear and quality sound. Low latency isochronous transfer modes of PCI Express devices are more hardware innovations that Vista brings along to complement the additional real time scheduling
Considering these advancements, the audio device should be able to play and or capture input data with little or no involvement from the driver software. The hardware for the audio device should also not need any assistance from the driver from the time run state to the exit state. If all is correct, the result is a low latency audio that takes up few host CPU cycles and timing glitches are non existent.
The WaveRT port driver uses a global audio engine. With the global audio engine, the driver is able to mix the playback streams from the currently running audio applications. It is also able to write the mixed stream into the cyclic buffer. After mixed, the device takes the stream from the buffer and plays it.