Hakon, I'm not sure we're talking about the same thing here. If you use thespeaker configuration wizard to put the device into 5.1 mode, it's still a 7.1 logical device, right? I think you're missing the point of my original question. If a Speaker endpoint supports 7.1 as a maximum configuration, is there an API to determine whether that endpoint will use the side or rear speakers when configured for 5.1 mode?
Thanks, Mike Hakon Strande wrote:
Those are two different devices. The OS can't switch between a 7.1 and 5.1 logical device seamlessly, the driver has to pick one and expose that. Then when the user wants to use the outputs differently a 3rd party driver could enable a task change which would cause the old device to be torn down and a new one to appear. (streams would stop). The class driver uses pin config data to expose ONE default device per codec pin (so it uses what the system vendor has set in the HD Audio codec per Logo requirements using the BIOS verbtable) and only that device. The class driver does not see or expose to the OS a 5.1 device if a 7.1 device is occupying that codec pin (port). The pin config defaults will always be the same (unless the BIOS is updated) and even then we don't use the new values until the class driver is uninstalled and re-installed so you are stuck with the logical device (7.1 for instance) that the system vendor chose. This is By Design as we have no re-tasking UX in Vista and no seamless/dynamic format change support. Sincerely, Hakon Strande | Windows Sound Team PM | (p) 425.705.0637 -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Mike Preston Sent: Wednesday, March 14, 2007 4:12 PM To: wdmaudiodev@xxxxxxxxxxxxxSubject: [wdmaudiodev] Re: Vista 5.1 speaker mode question Hakon, Thanks for the valuable information. I just wanted to make sure we're talking about the same thing. I'm talking about a Speaker endpoint on an HD audio codec that supports 7.1, but is configured for 5.1 mode. Does the pin configuration you're talking about come from the verb tables in the BIOS? Is there an API for getting the codec's pin configuration that is available above the driver level? The only thing in the Core Audio API that is remotely related is theIAudioChannelConfig, but that only allows you to get the current configuration. It also seems to be unrelated to the jack informationfor the endpoint. Any suggestions? Thanks, Mike Preston Hakon Strande wrote:If it is the Windows Vista HD Audio class driver you are running weuse the HD Audio codec's pin configuration default values to determine the channel mask of the multi-channel device through pin config sequence numbers in the logical device association. If a system vendor has set the pin config values of the integrated HD Audio device to indicate that the 5.1 device uses side speakersthen we expose that to the OS when it asks the driver through the channel config property request but if the system vendor uses the pin config sequence values in the multi-channel device association to indicate that the 5.1 system has rear speakers the HD Audio class driver will expose that to the OS as the channel mask for that device instead.See the chapter "Speaker Configurations" in the HD Audio pin configuration programming guidelines document here for thebackground on how we interpret pin config values into speaker configurations in the HD Audio class driver: http://www.microsoft.com/whdc/device/audio/PinConfig.mspx If your repro is not with the class driver and/or not with HD Audio solutions then I think you'll have to ask the driver developers who created the drivers you are using why they expose different 5.1configurations because Windows Vista uses the channel mask information provided by the driver to decide what type of multi-channel device we are dealing with.Sincerely, Hakon Strande | Windows Sound Team PM | (p) 425.705.0637-----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Mike PrestonSent: Tuesday, March 13, 2007 7:44 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Vista 5.1 speaker mode question I have a question regarding side vs. rear speakers in 5.1 mode inthe Speaker Setup wizard on Vista. I've noticed that on different systems that support 7.1 (i.e. both side and rear speakers are present), on some systems, 5.1 mode uses the side speakers, while on other systems, 5.1 mode uses the rear speakers. How does Vista determine which to use? If anyone has any info on this, it wouldbe greatly appreciated. Thanks, Mike Preston
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | Mike Preston | Home/Office: (360)756-1655 | | E-mail: mike@xxxxxxxxxxxxxxxxxxx | Cell: (360)303-9331 | |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| | The man who follows the crowd will usually get no | | further than the crowd. The man who walks alone is | | likely to find himself in places no one has ever been. | | -- Alan Ashley-Pitt | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/