Você está na página 1de 18

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/W7DefAudioEndptSel.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:
uaa@microsoft.com

Default Audio Endpoint Selection in Windows 7 - 2

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.

Document History
Date
Change

March 30,
2010

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.

March 30, 2010


2010 Microsoft Corporation. All rights reserved.

Default Audio Endpoint Selection in Windows 7 - 4

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
formatsbefore 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 whats 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 endpoints state to
change from or to the ACTIVE state can potentially affect the current
March 30, 2010
2010 Microsoft Corporation. All rights reserved.

Default Audio Endpoint Selection in Windows 7 - 5

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.

Endpoint Timestamp Property Creation and Update in Windows Vista


In Windows Vista, an endpoints 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 right-clicking 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
March 30, 2010
2010 Microsoft Corporation. All rights reserved.

Default Audio Endpoint Selection in Windows 7 - 6

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.

Endpoint Timestamp Property Creation and Update on Windows 7


In Windows 7, an endpoints 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.

March 30, 2010


2010 Microsoft Corporation. All rights reserved.

Default Audio Endpoint Selection in Windows 7 - 7

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.

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 endpoints 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.

March 30, 2010


2010 Microsoft Corporation. All rights reserved.

Default Audio Endpoint Selection in Windows 7 - 8

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.
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.

March 30, 2010


2010 Microsoft Corporation. All rights reserved.

Default Audio Endpoint Selection in Windows 7 - 9

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.
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.
March 30, 2010
2010 Microsoft Corporation. All rights reserved.

Default Audio Endpoint Selection in Windows 7 - 10

Form Factor

An audio endpoints 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 endpoints form
factor, the audio subsystem uses built-in fixed logic to map the
kernel streaming (KS) pins 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

RemoteNetworkD
evice
Speakers

Handset

UnknownDigitalPassthr
ough
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.
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

March 30, 2010


2010 Microsoft Corporation. All rights reserved.

Default Audio Endpoint Selection in Windows 7 - 11

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 factors priority is, the greater its
weight. This paper uses WeightFactor_Xxx to identify a factors
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 - 12

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 endpoints selection
process. The set of parameters for the heuristics rank calculation
depends on the endpoints characteristics. The following table shows
an example set of parameters.
Weight of endpoint
factor

Rank value of endpoint


factor

WeightFactor_JackDe
t
WeightFactor_SubTyp
e
WeightFactor_FormF
actor
WeightFactor_BusTyp
e
WeightFactor_GenLo
c
WeightFactor_GeoLo
c

nRankJackDet
nRankSubType
nRankFormFactor
nRankBusType
nRankGenLoc
nRankGeoLoc

The audio subsystem calculates an endpoints weighted rank across


all its factors, as follows:
WeightedRankValue =
WeightFactor_JackDet
WeightFactor_SubType
WeightFactor_FormFactor
WeightFactor_BusType
WeightFactor_GenLoc
WeightFactor_GeoLoc

* nRankJackDet +
* nRankSubType +
* nRankFormFactor +
* nRankBusType +
* nRankGenLoc +
* 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 systems
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.

March 30, 2010


2010 Microsoft Corporation. All rights reserved.

Default Audio Endpoint Selection in Windows 7 - 13

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.
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

March 30, 2010


2010 Microsoft Corporation. All rights reserved.

Default Audio Endpoint Selection in Windows 7 - 14

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 headphones 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.
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
March 30, 2010
2010 Microsoft Corporation. All rights reserved.

Default Audio Endpoint Selection in Windows 7 - 15

array endpoint. The microphone array is selected because, although


both endpoints have the same jack detection capability and form
factor, the microphone arrays 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.
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)

March 30, 2010


2010 Microsoft Corporation. All rights reserved.

Default Audio Endpoint Selection in Windows 7 - 16

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 communication-oriented endpointssuch as
Handset and Speakerphonefrom 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.
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

March 30, 2010


2010 Microsoft Corporation. All rights reserved.

Default Audio Endpoint Selection in Windows 7 - 17

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.

March 30, 2010


2010 Microsoft Corporation. All rights reserved.

Default Audio Endpoint Selection in Windows 7 - 18

Geometric Location

The geometric location heuristic settings are the same for both
default communication audio endpoints and default console audio
endpoints.
Exceptions

In addition to the preceding heuristic factors, Windows 7 has an


exception for the default console device heuristic. This exception
prevents the obvious communication-oriented endpointssuch as
Handset and Speakerphonefrom 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
uaa@microsoft.com 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.

Você também pode gostar