The Windows 7 Default Audio Endpoint Heuristic

Default Audio Endpoint Selection in
Windows 7
March 30, 2010
Abstract
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:
http://www.microsoft.com/whdc/device/audio/W7-DefAudioEndptSel.mspx
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:
[email protected]
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.
Default Audio Endpoint Selection in Windows 7 - 2
Document History
Date
March 30, 2010
Change
First publication
Contents
Introduction ................................................................................................................... 3
Basic Algorithm for Default Audio Endpoint Selection .................................................. 4
The Endpoint Timestamp Property ................................................................................ 4
Endpoint Timestamp Property Creation and Update in Windows Vista ................... 5
Endpoint Timestamp Property Creation and Update on Windows 7 ........................ 6
The Windows Vista Default Audio Endpoint Heuristic ................................................... 7
The Windows 7 Default Audio Endpoint Heuristic......................................................... 8
Windows 7 Heuristic Factors ..................................................................................... 8
Windows 7 Heuristic Details .................................................................................... 10
Windows 7 Inbox Heuristic Settings............................................................................. 11
Inbox Heuristic Settings for the Default Console Audio Endpoint ........................... 11
Inbox Heuristic Settings for the Default Communication Audio Endpoint .............. 14
Windows 7 OEM Heuristics Customization .................................................................. 16
Resources ..................................................................................................................... 16
March 30, 2010
© 2010 Microsoft Corporation. All rights reserved.
Default Audio Endpoint Selection in Windows 7 - 3
Introduction
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.)
March 30, 2010
© 2010 Microsoft Corporation. All rights reserved.
Default Audio Endpoint Selection in Windows 7 - 4

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.
Basic Algorithm for Default Audio Endpoint Selection
The Windows Vista and Windows 7 audio subsystems use a similar algorithm to
determine the default audio endpoint. The algorithm operates as follows:

Loops through all ACTIVE endpoints to find the endpoint with the most recent
timestamp property. This property indicates the last time an endpoint was set as
the default audio endpoint. The timestamp property is discussed in more detail in
the next section of this paper.

If a time-stamped audio endpoint is found, returns it as the default audio
endpoint.

If a time-stamped audio endpoint is not found, uses the default audio endpoint
heuristic algorithm to determine the default audio endpoint. The heuristics for
both Windows 7 and Windows Vista are discussed in detail later in this paper.
There are four endpoint states: ACTIVE, UNPLUGGED, DISABLED, and NOT PRESENT.
The audio subsystem considers only ACTIVE endpoints (in the present and enabled
state) when it determines the default audio endpoint. Any events that cause an
endpoint’s state to change from or to the ACTIVE state can potentially affect the
current default audio endpoint. Such events include inserting an audio device,
unplugging a device, and installing a new audio device. In response to such
operations, the Windows audio subsystem runs the default audio endpoint heuristic
algorithm to determine the new default audio endpoint.
The Endpoint Timestamp Property
An audio endpoint is created without a timestamp property. The Windows audio
subsystem assigns a timestamp to the endpoint only when it is set as the default
audio endpoint. An endpoint that is never set as the default endpoint does not have a
timestamp property.
March 30, 2010
© 2010 Microsoft Corporation. All rights reserved.
Default Audio Endpoint Selection in Windows 7 - 5
Endpoint Timestamp Property Creation and Update in Windows Vista
In Windows Vista, an endpoint’s timestamp property is created or updated only when
it is specifically set as the default audio endpoint through one of the following
methods:

End-user selection through the Control Panel Sound application.
An end user can designate an endpoint to be the default audio endpoint by rightclicking the target endpoint and then selecting Set as Default Device, as shown in
the following screen shot.
In response to this user action, the audio subsystem gets the current timestamp
and creates a timestamp property if it does not exist or updates the existing
timestamp property.

Audio driver installation.
In Windows Vista, an audio driver package can use the
SetupPreferredAudioDevices INF directive to establish its installed audio
endpoints as the new default audio endpoints. All endpoints that are created
from the section that contains this INF directive have their default endpoint
timestamp property updated with the installation time.
For details, see “SetupPreferredAudioDevices” on the MSDN Web site.
March 30, 2010
© 2010 Microsoft Corporation. All rights reserved.
Default Audio Endpoint Selection in Windows 7 - 6
Endpoint Timestamp Property Creation and Update on Windows 7
In Windows 7, an endpoint’s timestamp property is created or updated only when it
is specifically set as the default audio endpoint through the Control Panel Sound
application. The basic default device selection operation is similar to that of Windows
Vista, but as shown in the following screen shot, a new Set as Default
Communications Device option was added.
The new Communications device role was added in Windows 7 to help
communication-centric applications provide a better communication experience for
device selection. To support this new role, each endpoint now has a separate
timestamp property for each device role, as follows:

When the end user selects Set Default Device for an endpoint, the audio
subsystem creates or updates the timestamp property for the default Console
device role.

When the end user selects Set as Default Communications Device for an
endpoint, the audio subsystem creates or updates the Communications
timestamp.
With this new flexibility, different device roles can be set to different audio devices.
To accommodate these changes, the following modified algorithm describes how
Windows 7 determines a default audio endpoint for any specific role:

The audio subsystem loops through all the ACTIVE endpoints with a matching
device role to find the endpoint with the most recent timestamp property. The
timestamp property indicates the last time an endpoint was set as the default
audio endpoint.

If such an audio endpoint is found, it is returned as the default audio endpoint.

Otherwise, the audio subsystem resorts to the system default audio endpoint
heuristic algorithm to determine the default audio endpoint.
March 30, 2010
© 2010 Microsoft Corporation. All rights reserved.
Default Audio Endpoint Selection in Windows 7 - 7
Support for SetupPreferredAudioDevices was removed from Windows 7 because of
the following non-deterministic nature:

Although each physical audio device can expose multiple audio features or
endpoints (such as a microphone, a speaker, and a headphone),
SetupPreferredAudioDevices does not allow control at the audio endpoint level.

The default audio endpoint settings that result from this INF directive are
affected by the order in which its driver exposes an audio endpoint. The last
exposed endpoint overrides all previous settings.
The Windows 7 Media Class Installer ignores this directive when it installs audio
drivers. Therefore, when an audio driver is installed on Windows 7, the endpoints on
the device do not necessarily become the default audio endpoint as they did on
Windows Vista. You should update your Windows 7 audio driver INF files accordingly.
The Windows Vista Default Audio Endpoint Heuristic
The system default audio endpoint heuristic algorithm is quite simple in Windows
Vista. The only property that the audio subsystem uses is the endpoint’s form factor.
The AudioEndpointBuilder service assigns each form factor type a relative priority
value or rank value. The audio subsystem uses this rank value to prioritize the
endpoints for the selection of the default audio endpoint. When there are multiple
endpoints from which to select, the audio subsystem chooses the endpoint that has
the best rank as the default device. There are two sets of rank settings: one for
render endpoints and one for capture endpoints.
The priority order, from highest to lowest priority, for render endpoints is as follows:



Speakers
Sony/Phillips Digital InterFace (S/PDIF)
All other form factors (all are ranked equally)
For example, in a system that has a speakers endpoint and a S/PDIF endpoint, the
system default audio endpoint heuristic algorithm selects the speakers endpoint as
the default endpoint.
If there is more than one endpoint that has the same form factor, the audio
subsystem selects the first one that it encounters.
The priority order, from highest to lowest priority, for capture endpoints is as follows:




Microphone
LineLevel
S/PDIF
Any other form factors (all are ranked equally)
Because most Windows Vista audio drivers use the SetupPreferredAudioDevices
directive in their INF files, almost all endpoints have a timestamp property. For this
reason, the Windows Vista system default audio endpoint heuristic algorithm is rarely
used to determine the default audio endpoint.
March 30, 2010
© 2010 Microsoft Corporation. All rights reserved.
Default Audio Endpoint Selection in Windows 7 - 8
The Windows 7 Default Audio Endpoint Heuristic
In Windows 7, a more flexible and sophisticated default device selection heuristic
replaces the heuristic that is used in Windows Vista. This new heuristic uses more
factors to select the default endpoint, which allows finer control on the relative
priority order among endpoints that have various characteristics.
The following are some examples of how the enhanced default device selection
heuristic works on Windows 7:

When the heuristic selects the default communications endpoint, it assigns
higher priority to Bluetooth headphone endpoints than to onboard HD Audio
headphones.

When it selects the default speaker endpoint, it assigns higher priority to speaker
endpoints that have jack detection capability than to static speaker endpoints.

When it selects the default capture device, it assigns higher priority to front
microphone endpoints than to microphones in the rear of a computer.

When it selects the default console render endpoint, it assigns higher priority to
S/PDIF endpoints than to handset endpoints. When it selects the default
communications render endpoint, it assigns higher priority to handset endpoints
than to S/PDIF endpoints.

The heuristic can designate an endpoint that has specific characteristics to be the
top priority or the lowest priority. For example, it can make a jack detection
capable HD Audio headphone endpoint on the right of a computer be the highest
priority default communication render device.
You can see from the preceding examples that the enhanced system default device
heuristic algorithm in Windows 7 is flexible enough to have much more detailed
control on the default device selection behavior. Heuristic details are provided in the
next sections.
Windows 7 Heuristic Factors
The Windows 7 audio subsystem considers the following endpoint characteristics, or
factors, to select the default audio endpoint:






Jack detection capability
Form factor
KSNodeType
Bus type
General location
Geometric location
Windows 7 defines a set of enum values for every supported endpoint factor and
stores them in the registry. Detailed descriptions of these factors and their
corresponding enumerant value sets follow.
March 30, 2010
© 2010 Microsoft Corporation. All rights reserved.
Default Audio Endpoint Selection in Windows 7 - 9
Jack Detection Capability
An endpoint with this capability implies that audio drivers can notify the audio
subsystem when the audio peripherial device that is connected to an endpoint is
plugged in or unplugged. Audio endpoints that support jack detection capability are
called dynamic endpoints, and those that do not provide this support are called static
endpoints. To support jack detection capability, audio device drivers must support
the KSPROPERTY_JACK_DESCRIPTION2 property. For more information about this
property, see “KSPROPERTY_JACK_DESCRIPTION2” on the MSDN Web site.
Jack detection capability enum values
Supported
NotSupported
The Windows 7 default audio device heuristic treats all USB audio endpoints as jack
detection capable.
Form Factor
An audio endpoint’s form factor indicates the physical attributes of the audio
endpoint device with which the user interacts, such as headphones, speakers, or
S/PDIF. To determine an endpoint’s form factor, the audio subsystem uses built-in
fixed logic to map the kernel streaming (KS) pin’s category (KSNodeType), which is
exposed by the audio driver, to a specific form factor. For more information, see “Pin
Category Property” on the MSDN Web site.
Endpoint form factor enum values
RemoteNetworkDevice Handset
Speakers
UnknownDigitalPassthrough
LineLevel
SPDIF
Headphones
UnknownFormFactor
Microphone
Headset
DigitalAudioDisplayDevice (defined to be same as HDMI)
KSNodeType
The audio driver selects the KSNodeType for a KS pin on an endpoint because the
driver has detailed knowledge about the audio device that might be connected to an
audio jack. Therefore, KsNodeType reveals more specific knowledge on the endpoint
than its form factor does.
KSNodeType enum values
KSNODETYPE_SPEAKER
KSNODETYPE_MICROPHONE_ARRAY
KSNODETYPE_HEADPHONES
For more detailed information about KsNodeType, see “Pin Category Property” on
the MSDN Web site.
March 30, 2010
© 2010 Microsoft Corporation. All rights reserved.
Default Audio Endpoint Selection in Windows 7 - 10
Bus Type
This factor represents the bus type from which the audio device that exposed the
audio endpoints was enumerated.
Bus type enum values
BTHENUM
BTHHFENUM
USB
HDAUDIO
PCI
Unknown
The audio subsystem favors endpoints on a certain bus type over other bus types
when all other endpoint characteristics are identical. For example, the system gives
Bluetooth headphones priority over on-board HD Audio headphones to provide a
better communications experience for the user; that is, when an end-user introduces
a Bluetooth headphone device to this PC, the system makes it the default device.
General Location
General location indicates the physical gross location of the jack or device to which
the audio endpoint is connected.
General location enum values
PrimaryBox (on the primary system chassis, accessible to the user)
Internal (on the motherboard, not accessible without opening the box)
Separate (such as a mobile box)
Other
Geometric Location
Geometric location indicates the geometric location of the jack or device to which the
audio endpoint is connected.
Geometric location enum values
eGeoLocRear
eGeoLocFront
eGeoLocLeft
eGeoLocRight
eGeoLocTop
eGeoLocBottom
eGeoLocRearOPanel
eGeoLocRiser
Windows 7 Heuristic Details
The Windows 7 default audio endpoint heuristic weights each endpoint factor. The
higher a factor’s priority is, the greater its weight. This paper uses WeightFactor_Xxx
to identify a factor’s priority.
In addition, the Windows 7 heuristic assigns a rank value (nRankXxx in this paper) to
each enum value within a factor category. This rank value establishes the relative
importance among all enum values under the same factor.
March 30, 2010
© 2010 Microsoft Corporation. All rights reserved.
Default Audio Endpoint Selection in Windows 7 - 11
These WeightFactor_Xxx and nRankXxx values are stored in the registry during
operating system installation. Registry storage makes it easier for OEMs to customize
the default audio endpoint’s selection process. The set of parameters for the
heuristic’s rank calculation depends on the endpoint’s characteristics. The following
table shows an example set of parameters.
Weight of endpoint factor
WeightFactor_JackDet
WeightFactor_SubType
WeightFactor_FormFactor
WeightFactor_BusType
WeightFactor_GenLoc
WeightFactor_GeoLoc
Rank value of endpoint factor
nRankJackDet
nRankSubType
nRankFormFactor
nRankBusType
nRankGenLoc
nRankGeoLoc
The audio subsystem calculates an endpoint’s weighted rank across all its factors, as
follows:
WeightedRankValue =
WeightFactor_JackDet
* nRankJackDet +
WeightFactor_SubType
* nRankSubType +
WeightFactor_FormFactor * nRankFormFactor +
WeightFactor_BusType
* nRankBusType +
WeightFactor_GenLoc
* nRankGenLoc +
WeightFactor_GeoLoc
* nRankGeoLoc;
The audio subsystem calculates the weighted rank value for all active endpoints and
selects the endpoint that has the highest rank as the default audio endpoint.
The Windows 7 default audio endpoint selection heuristic mechanism also supports
an exception feature. This feature allows the system or an OEM to cause the audio
subsystem to designate an endpoint that matches a specific set of characteristics with
very high or very low weighted rank values. Such designations make the system’s
heuristic more flexible when it deals with unexpected scenarios.
The heuristics for the console device role and the communication device role are
completely separate, but the mechanism is precisely the same, with different order
for the factors based on roles.
Windows 7 Inbox Heuristic Settings
Windows 7 ships with settings that are based on the heuristic details in this paper.
The default console audio endpoint and default communications audio endpoint have
different settings. This section describes the settings for both types of endpoints.
Inbox Heuristic Settings for the Default Console Audio Endpoint
This section describes the default heuristic settings for each factor for a console audio
endpoint. The factors are listed in priority order; that is, Windows 7 gives highest
priority to the first factor in the following list when the audio subsystem determines
the default console endpoint.
March 30, 2010
© 2010 Microsoft Corporation. All rights reserved.
Default Audio Endpoint Selection in Windows 7 - 12
Jack Detection Capability
Endpoints with jack detection capability provide the most up-to-date information to
the system on whether an audio peripheral device is physically attached to the
system and when it is plugged in or unplugged. This information helps create a better
end-user experience, so Windows 7 sets this factor as the highest priority factor. An
endpoint with jack detection capability has a higher priority than endpoints without
this capability, no matter how other factors compare.
Form Factor
Windows 7 uses a different form factor priority order than Windows Vista does. In
addition, Windows 7 uses different priority lists for render console default devices
and capture console default devices. This is primarily because some form factors
(such as LineLevel and S/PDIF) can be used to represent both render and capture
endpoints.
Windows 7 sets form factor priority for render console endpoints in the following
priority order:






Headphones
Speakers
LineLevel
DigitalAudioDisplayDevice
S/PDIF
Anything else (treated with the same lowest priority; that is,
withnRankFormFactor equal to zero)
Windows 7 sets form factor priority for capture console endpoints in the following
priority order:




Headset
Microphone
LineLevel
Anything else (treated with the same lowest priority; that is, with
nRankFormFactor equal to zero)
For example, consider a system with three audio console render endpoints:



An HD audio static headphone endpoint (a headphone without jack detection
capability).
A static S/PDIF Out endpoint.
A dynamic speakers endpoint (speakers with jack detection support).
The audio subsystem uses the Windows 7 system heuristic and chooses the dynamic
speakers endpoint as the default console render audio endpoint, even though the
speakers’ form factor is prioritized below the headphone’s form factor. The speakers
endpoint is chosen because it is jack detection capable, which has a higher priority
over form factor, whereas the headphones do not have this capability.
If a dynamic USB headphones endpoint is introduced into the above example, the
Windows 7 audio subsystem chooses this endpoint as the default console render
endpoint. This choice is because the headphones form factor has higher priority than
the speakers form factor when both devices support jack detection.
March 30, 2010
© 2010 Microsoft Corporation. All rights reserved.
Default Audio Endpoint Selection in Windows 7 - 13
KSNodeType
As mentioned earlier, KSNodeType provides more detailed information than that
indicated by form factor for an audio device that is connected to an endpoint.
Windows 7 defines three microphone-related KSNodeTypes to further prioritize
endpoints with the microphone form factor but different KSNodeType. They are
ranked in priority order as follows:




KSNODETYPE_PROCESSING_MICROPHONE_ARRAY
KSNODETYPE_MICROPHONE_ARRAY
KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE
Anything else (treated with the same lowest priority; that is, with nRankSubType
equal to zero)
For example, consider a system with two audio capture endpoints:


A built-in static microphone array endpoint with
KSNODETYPE_MICROPHONE_ARRAY.
A static microphone endpoint with KSNODETYPE_MICROPHONE.
When the audio subsystem uses the system heuristic to choose the default console
capture audio endpoint, it selects the microphone array endpoint. The microphone
array is selected because, although both endpoints have the same jack detection
capability and form factor, the microphone array’s KsNodeType is prioritized higher
than that of the microphone. That is, KSNODETYPE_MICROPHONE_ARRAY is
prioritized higher than KSNODETYPE_MICROPHONE, which is not listed and falls into
the “anything else” category.
Bus Type
Windows 7 ranks the enum values for endpoint bus types in the following priority
order, from highest to lowest priority:






BTHENUM
BTHHFENUM
USB
HDAUDIO
PCI
Others (treated with the same lowest priority; that is, with nRankBusType equal
to zero)
General Location
Windows 7 ranks the enum values for general location in the following priority order,
from highest to lowest priority:




PrimaryBox
Internal
Separate
Others (treated with the same lowest priority; that is, nRankGenLoc is equal to
zero)
Audio drivers report the general location infomation of their endpoints through the
KSPROPERTY_JACK_DESCRIPTION property. For details, see “Jack Description
Property” on the MSDN Web site.
March 30, 2010
© 2010 Microsoft Corporation. All rights reserved.
Default Audio Endpoint Selection in Windows 7 - 14
Geometric Location
Windows 7 ranks the enum values for geometric location in the following priority
order, from highest to lowest priority:








Rear
Front
Left
Right
Top
Bottom
RealPanel
Others (treated with the same lowest priority; that is, with nRankGeoLoc equal to
zero)
Audio drivers report the geometric location infomation of their endpoints through
the KSPROPERTY_JACK_DESCRIPTION property. For details, see “Jack Description
Property” on the MSDN Web site.
Exception
In addition to the preceding heuristic factors, Windows 7 has an exception for the
default console device heuristic. This exception prevents the obvious communicationoriented endpoints—such as Handset and Speakerphone—from being chosen as the
default console endpoint. Specifically, the audio subsystem downgrades the
WeightedRankValue result for endpoints that have one of the following KSNodeType
values:










KSNODETYPE_PERSONAL_MICROPHONE
KSNODETYPE_HEADSET
KSNODETYPE_PHONE_LINE
KSNODETYPE_DOWN_LINE_PHONE
KSNODETYPE_COMMUNICATION_SPEAKER
KSNODETYPE_HANDSET
KSNODETYPE_TELEPHONE
KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION
KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE
KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE
Inbox Heuristic Settings for the Default Communication Audio Endpoint
This section describes the default heuristic settings of each factor for a
communication audio endpoint. The factors are listed in priority order; that is,
Windows 7 gives highest priority to the first factor in the following list when it
calculates the default communications endpoint. The only difference between the
heuristics of console default endpoints and communications default endpoints is in
the form factor settings and the exception rule.
Jack Detection Capability
The jack detection capability heuristic settings are the same for both default
communication audio endpoints and default console audio endpoints.
March 30, 2010
© 2010 Microsoft Corporation. All rights reserved.
Default Audio Endpoint Selection in Windows 7 - 15
Form Factor
Different priority lists are created for render communications default devices and
capture communications default devices.
The form factor priority for communications default endpoints in priority order (from
highest priority to lowest) is as follows:








Headset
Handset
Headphones
Speakers
LineLevel
DigitalAudioDisplayDevice (HDMI or DisplayPort)
S/PDIF
Anything else (treated with the same lowest priority; that is, with
nRankFormFactor equal to zero)
For example, consider a system with the following three audio render endpoints:



An HD Audio static headphone endpoint
A static S/PDIF out endpoint
A dynamic speakers endpoint
When the audio subsystem uses the system heuristic to choose the default console
render audio endpoint, it selects the dynamic speakers endpoint even though its
speakers’ form factor is prioritized below the headphones form factor of the first
endpoint. This is because the dynamic speakers endpoint has jack detection
capability, which has a higher priority over form factor, whereas the headphone
endpoint does not.
If a dynamic USB headphones endpoint is introduced into the preceding example, the
Windows 7 audio subsystem chooses this endpoint as the default console render
endpoint because it supports jack detection and its headphones form factor has
higher priority than that of the speakers form factor.
KSNodeType
The KsNodeType heuristic settings are the same for both default communication
audio endpoints and default console audio endpoints.
Bus Type
The bus type heuristic settings are the same for both default communication audio
endpoints and default console audio endpoints.
General Location
The general location heuristic settings are the same for both default communication
audio endpoints and default console audio endpoints.
Geometric Location
The geometric location heuristic settings are the same for both default
communication audio endpoints and default console audio endpoints.
March 30, 2010
© 2010 Microsoft Corporation. All rights reserved.
Default Audio Endpoint Selection in Windows 7 - 16
Exceptions
In addition to the preceding heuristic factors, Windows 7 has an exception for the
default console device heuristic. This exception prevents the obvious communicationoriented endpoints—such as Handset and Speakerphone—from being chosen as the
default console endpoint. Specifically, the audio subsystem upgrades the
WeightedRankValue result for endpoints with a KSNodeType that matches any of the
following values:










KSNODETYPE_PERSONAL_MICROPHONE
KSNODETYPE_HEADSET
KSNODETYPE_PHONE_LINE
KSNODETYPE_DOWN_LINE_PHONE
KSNODETYPE_COMMUNICATION_SPEAKER
KSNODETYPE_HANDSET
KSNODETYPE_TELEPHONE
KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION
KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE
KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE
Windows 7 OEM Heuristics Customization
All heuristic settings are controlled through registry settings. Windows 7 is shipped
with the inbox default audio endpoint selection behavior. You can customize your
systems to meet specific market needs. If you have such a need, send an e-mail to us
at [email protected] for assistance.
Resources
Microsoft Developer Network (MSDN)
Jack Description Property
http://msdn.microsoft.com/en-us/library/dd419775.aspx
KSPROPERTY_JACK_DESCRIPTION2
http://msdn.microsoft.com/en-us/library/dd573917.aspx
Pin Category Property
http://msdn.microsoft.com/en-us/library/ms790325.aspx
SetupPreferredAudioDevices
http://msdn.microsoft.com/en-us/library/bb981547.aspx
March 30, 2010
© 2010 Microsoft Corporation. All rights reserved.