Windows 7 audio architecture

 

There are no major changes in the audio architecture of Win 7 compared with Vista.
New in Win 7 according to Microsoft:

 

Audio Engine

 

 

 

You can have multiple audio streams e.g. you have your music playing and another application kicks in, a system sound, a VOIP call, audio embedded in a web page, etc.
To play the streams simultaneously they must be mixed.
This is the task of the Windows audio engine.

The bit depth of the incoming streams is converted to 32 bit float.
The audio send to the audio driver is converted to a format the driver accepts (16 or 24 bits most of the time) and always dithered.

You can bypass the mixer by using WASAPI in exclusive mode.

 

As a sound card can only run at one sample rate, all streams must have the same sample rate.
Any stream not having the default sample rate as set in the Win audio panel, has to be converted  before it is send to the mixer.

Another reason to apply sample rate conversion is a mismatch between the sample rate of the source and the sample rate(s) supported by the hard ware.
E.g. you play a CD but your sound card only supports 48 kHz (the cheap ones do), you downloaded some 24 bit/176 kHz recordings but your sound card supports 24 bit/96 kHz max.

Sample rate conversion must be done by the application sending audio to the mixer.
This can be the SRC as supplied by Win or one supplied by the application.

References

User-Mode Audio Components - MSDN