Stream, Simple, Channel and Endpoint Volume

Apr 6, 2007 12:59 GMT  ·  By

I will start with an enumeration: Stream Volume, Simple Volume, Channel Volume and Endpoint Volume. These four different volume controls in Windows Vista are applied to all audio streams of the operating system. In fact, the final output audio stream is built by the input audio samples with all the volume controls applied linearly. The picture included at the bottom is designed to deliver a perspective on the audio in Windows Vista, courtesy of Larry Osterman, Microsoft software design engineer.

"Each of the WASAPI instances in the picture represents an audio stream, the streams are combined together in a mixer and streamed to the audio driver. The Stream, Simple, and Channel volumes are implemented with a single volume APO inserted on the individual audio streams, the endpoint volume is implemented either with a volume APO inserted post mix or with a hardware volume control depending on the capabilities of the users audio solution," Osterman explained.

The Stream Volume is designed for integration with applications that create simplistic 3D effects. In this regard, the multichannel per-stream volume control works to render simulated three dimensional information. "It also can be used if your application wants to let the system handle managing volume control for individual audio streams, but the scenarios for this are relatively rare," Osterman added.

The Channel Volume is intimately connected with the waveOutSetVolume API. You must think of audio streams as contained inside sessions and of the Channel Volume as applied per session to all the streams.

The Simple Volume can be largely defined in the same manner as the Channel Volume, in the sense that it too is applied per-session to all the streams contained. However, this is the point where the two separate as the Simple Volume is characterized by uniformity, affecting all channels in the same manner. Users will probably be most familiarized with the Simple Volume as it is tied to the applications volume slider contained by the Windows Vista sound mixer.

"Logically you can consider these three volumes as being applied in series (it's not really true, they're all applied at the same time) to create the final volume for each audio stream. Finally, there's the endpoint volume. As I've mentioned before, the endpoint volume represents the "master volume" for outputs. It is applied to the post-mix audio stream, and functions as the master volume for the particular endpoint," Osterman concluded.

Photo Gallery (2 Images)

Audio in Vista, the Big Picture
Open gallery