Default Audio Endpoint Selection in Windows 7
March 30, 2010
The Windows® 7 audio subsystem uses an algorithm with enhanced heuristics for default audio endpoint selection. This paper describes these heuristics and how the Windows 7 audio subsystem uses them to select the default audio endpoint. For you to best understand the new Windows 7 selection mechanism, this paper also explains how default audio endpoint selection occurs in Windows Vista®. The target audience of this paper is OEMs and IHVs.
This information applies to the Windows 7 operating system.
References and resources discussed here are listed at the end of this paper.
The current version of this paper is maintained on the Web at:
The information in this paper might eventually be provided in the Windows Driver Kit (WDK). If you encounter a conflict between this paper and the WDK, consider the WDK to be factually correct and this paper to be out of date.
For further information, contact:
Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it.
This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes.
© 2010 Microsoft Corporation. All rights reserved.
Endpoint Timestamp Property Creation and Update in Windows Vista 5
Endpoint Timestamp Property Creation and Update on Windows 7 6
Windows 7 Heuristic Factors 9
Windows 7 Heuristic Details 11
Inbox Heuristic Settings for the Default Console Audio Endpoint 13
Inbox Heuristic Settings for the Default Communication Audio Endpoint 16
Most PC audio devices contain multiple logically independent audio features. In Windows Vista® and Windows® 7, each feature is exposed as a separate audio endpoint. Endpoints are listed in the Control Panel Sound application, as shown in the following example dialog box.
Only one audio endpoint at a time can be set as the default for a specific console or communications role.
The Windows Vista and Windows 7 audio subsystems use similar algorithms to determine the default audio endpoint. However, the Windows 7 algorithm uses a far more sophisticated heuristic for the following reasons:
Sometimes special-purpose audio applications iterate over all audio endpoints and select one with certain characteristics—such as support for digital formats or other special audio formats—before streaming audio data to it. (Most audio applications only use whatever is set as the default audio endpoint for audio streaming because this is the likely source from which end users want to hear their audio.)
The Windows 7 audio subsystem automatically redirects audio streams from the previous default audio endpoint to the new default audio endpoint if an application explicitly selects a new default audio endpoint as the streaming target endpoint. This new feature is called stream redirection.
This paper describes how the default audio endpoint is selected in Windows 7. For a better understanding of what’s new to Windows 7, default audio endpoint selection in Windows Vista is also explained. With the enabling of the Communications device role in Windows 7, the default Console audio endpoint can now be differentiated from the default Communications audio endpoint. How this differentiation occurs is also covered in this paper.