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.
© Copyright 2025 Paperzz