[wdmaudiodev] Re: Vista 5.1 speaker mode question

  • From: Hakon Strande <hakons@xxxxxxxxxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Mon, 19 Mar 2007 09:14:15 -0700

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@xxxxxxxxxxxxx
Subject: [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 the 
IAudioChannelConfig, but that only allows you to get the current 
configuration.  It also seems to be unrelated to the jack information 
for the endpoint.  Any suggestions?

Thanks,
Mike Preston

Hakon Strande wrote:
> If it is the Windows Vista HD Audio class driver you are running we
> use 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 speakers then
> 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 the background
> 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.1
> configurations 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 Preston 
> Sent: 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 in the
>  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 would be
> 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/


******************

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/

Other related posts: