[wdmaudiodev] Re: Vista 5.1 speaker mode question

  • From: Mitchell Rundle <mitchr@xxxxxxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Mon, 19 Mar 2007 15:56:44 -0700

5.1(side) and 5.1(rear) are 2 different formats, so the question to pose is not 
"When in 5.1 mode, will you use the side version or will you use the rear 
version?" but rather "Do you support 5.1(side) and do you support 5.1(rear)?".

The simplest API for this is IAudioClient::IsFormatSupported with ShareMode = 
AUDCLNT_SHAREMODE_EXCLUSIVE.

Regards,
Mitch Rundle

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Mike Preston
Sent: Monday, March 19, 2007 9:59 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Vista 5.1 speaker mode question

Hakon,
    I'm not sure we're talking about the same thing here.  If you use the
speaker 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@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: