[wdmaudiodev] Re: vista: not appearing as system audio device

  • From: Mitchell Rundle <mitchr@xxxxxxxxxxxxx>
  • To: "'wdmaudiodev@xxxxxxxxxxxxx'" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Mon, 11 Sep 2006 08:57:30 -0700

Various system and application components may make functionality decisions 
based on the Endpoint Form Factor (which is derived directly from the bridge 
pin category) because of the specific capabilities implied.  For example:

- Vista chooses a specific icon for that form factor.
- The "Sound" control panel app (mmsys.cpl) provides a speaker configuration 
wizard for Speakers and HDMI endpoints, but not for Headphones or Line-Out 
endpoints.
- The Windows-supplied system FX has several different sub-effects that are 
specific to Endpoint Form Factors.  E.g. Headphone virtualization is only 
applied to Headphones;  room correction is only applied to Speakers;  etc.
- Speech-recognition software may prefer to use Headset microphones or Mic 
Arrays over desktop microphones.  It probably wouldn't work with Line-In 
devices at all.

In other words, it's important to choose the bridge pin category carefully.  
This was far less important in earlier versions of Windows.

The list of categories that I sent out earlier wasn't quite complete.  Here is 
the complete list:

Render categories:
- KSNODETYPE_SPEAKER
- KSNODETYPE_DESKTOP_SPEAKER
- KSNODETYPE_HEADPHONES
- KSNODETYPE_LINE_CONNECTOR
- KSNODETYPE_SPDIF_INTERFACE
- KSNODETYPE_DIGITAL_AUDIO_INTERFACE
- KSNODETYPE_HDMI_INTERFACE
- KSNODETYPE_HEADSET or
- KSNODETYPE_HEADSET_SPEAKERS
- KSNODETYPE_HANDSET
- KSNODETYPE_ANALOG_CONNECTOR *
- KSCATEGORY_AUDIO *
- KSNODETYPE_PHONE_LINE *
- KSNODETYPE_CD_PLAYER *

Capture categories:
- KSNODETYPE_MICROPHONE
- KSNODETYPE_DESKTOP_MICROPHONE
- KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE
- KSNODETYPE_MICROPHONE_ARRAY
- KSNODETYPE_LINE_CONNECTOR
- KSNODETYPE_SPDIF_INTERFACE
- KSNODETYPE_DIGITAL_AUDIO_INTERFACE
- KSNODETYPE_HDMI_INTERFACE
- KSNODETYPE_HEADSET
- KSNODETYPE_HEADSET_SPEAKERS
- KSNODETYPE_HANDSET
- KSNODETYPE_ANALOG_CONNECTOR *
- KSCATEGORY_AUDIO *
- KSNODETYPE_PHONE_LINE *
- KSNODETYPE_CD_PLAYER *

Important note: * indicates a category will result in a endpoint device that is 
hidden by default.

Let me know if you have any more questions.

Regards,
Mitch Rundle
Microsoft Corporation

This posting is provided "AS IS" with no warranties, and confers no rights.


-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Nick Dowell
Sent: Monday, September 11, 2006 2:59 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: vista: not appearing as system audio device

I simply changed the Category of my bridge pin's descriptor to 
KSNODETYPE_LINE_CONNECTOR, and that was enough to make the device appear as a 
system-selectable audio device.

For example, here is the descriptor for my audio render bridge pin:

{
        NULL,                                   // Dispatch
        NULL,                                   // AutomationTable
        {
                0, NULL,                        // Interfaces (NULL, 0 == 
default)
                0, NULL,                        // Mediums (NULL, 0 == default)

                SIZEOF_ARRAY(DataRanges_Analog),  // Range Count
                (PKSDATARANGE*)DataRanges_Analog, // Ranges

                KSPIN_DATAFLOW_OUT,             // Dataflow
                KSPIN_COMMUNICATION_NONE,       // Communication
                &KSNODETYPE_LINE_CONNECTOR,     // Category
                &KSNODETYPE_LINE_CONNECTOR,     // Name
                0                               // Reserved
        },
        KSPIN_FLAG_PROCESS_IN_RUN_STATE_ONLY | // Flags
                KSPIN_FLAG_FIXED_FORMAT,
        1,                                      // Instances Possible
        0,                                      // Instances Necessary
        NULL,                                   // Allocator Framing
        NULL                                    // Intersect Handler
},

Note that this is the BRIDGE pin and not the data sink pin which performs the 
actual processing - it is a dummy pin which tells the system where the audio 
signal will end up (in this case a line connector). If you don't have bridge 
pins defined, then I'd imagine that would be a problem too!

Hope this helps,

Nick


On 11 Sep 2006, at 06:53, Steve Thorpe wrote:

> Can anyone offer some advice on this? I'm still not sure how to
> implement thsi fix. Thanks
>
> Steve Thorpe
> Empia Technology, Inc.
>
>
>
> Steve Thorpe <steve@xxxxxxxxxxxxx> wrote: Hi,
>
> I seem to have a similar problem on a USB audio driver (MSVAD based)
> How do I go about making the category changes you describe to get it
> to show up?
>
> Thanks
>
> Steve Thorpe
> Empia Technology, Inc.
>
>
>
>
>
> Nick Dowell <nick@xxxxxxxxxxxxx> wrote: You were spot on - my bridge
> pin Category was KSCATEGORY_AUDIO - I was using KSNODETYPE_xxx for the
> KSPIN_DESCRIPTOR::Name field.
>
> After changing the bridge pin category to KSNODETYPE_LINE_CONNECTOR
> (for
> example) I can see my audio device!
>
> Thanks,
> Nick
>
> Mitchell Rundle wrote:
>> What is the category of the bridge pin?  To show up it needs to be
>> one of:
>>
>> KSNODETYPE_SPEAKER
>> KSNODETYPE_HEADPHONES
>> KSNODETYPE_LINE_CONNECTOR
>> KSNODETYPE_SPDIF_INTERFACE
>> KSNODETYPE_MICROPHONE
>>  KSNODETYPE_HANDSET
>> KSNODETYPE_HEADSET_SPEAKERS
>> KSNODETYPE_HEADSET_MICROPHONE
>>
>> If the category is KSCATEGORY_AUDIO, then the device will only show
>> up if you go to mmsys.cpl and chose "show disabled devices".
>>
>> Regards,
>> Mitch Rundle
>> Microsoft Corporation
>>
>> ________________________________
>>
>> From: wdmaudiodev-bounce@xxxxxxxxxxxxx on behalf of Nick Dowell
>> Sent: Tue 8/29/2006 9:09 AM
>> To: wdmaudiodev@xxxxxxxxxxxxx
>> Subject: [wdmaudiodev] vista: not appearing as system audio device
>>
>>
>>
>> Hi,
>>
>> I've been trying out an avstream - based driver I'm working on with
>> Vista Beta 2.
>>
>> After getting the driver to install and startup ok, I find that my
>> device is not available as an audio device to the system.
>> (KSStudio can
>> reach my driver and stream to it without problems)
>>
>>
>> Is  it possible to get a debug log output from the system (similar to
>> sysaudio!sysaudiotracelevel) to see what's going wrong?
>>
>>
>> Regards,
>> Nick
>> ******************
>>
>> 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/
>>
>>
>>
> ******************
>
> 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/
>
>
>


Nick Dowell
Software Team Leader
-----------------------
Focusrite Audio Engineering
Novation Digital Music Systems




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

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: