[wdmaudiodev] Re: Mixer API under Vista build 5308

  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 10 Mar 2006 10:57:36 -0800

Jeff, if I understand your scenario correctly, you are referring to
*inputs* rather than outputs, and wish to have some application control
the input gain/mute. I believe Larry was thinking more about output
scenarios in his response. By the way, I'm curious what form the
application takes. Is it a specialized app for this customer scenario?
Is it a self-contained control panel that ships with your hardware?

If my understanding is correct, then there are two points to make
regarding Vista:

1. We hope that your driver and internal driver topology is designed so
that each separate input appears as a separate audio input device to the
OS. These are what we call "endpoints." Endpoints are programmatically
accessed through a new mmdevice API. A simple test of this is to observe
whether Vista's audio control panel displays a separate icon for each of
the inputs.

2. The volume (a.k.a. gain, fader) of an input can be controlled through
a simple interface directly activated on the mmdevice endpoint that
represents a particular input.

If this seems like the right guidance, we can provide the programming
details to you (specific interface names, etc.)

Frank Yerrace
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 Larry Osterman
Sent: Friday, March 10, 2006 9:48 AM
To: 'wdmaudiodev@xxxxxxxxxxxxx'
Subject: [wdmaudiodev] Re: Mixer API under Vista build 5308

For Vista, the MME Mixer APIs are virtualized; you do not have access to
the hardware audio controls.

Our analysis of audio applications indicated that the vast majority of
audio applications were using the mixer APIs for volume control and not
to access the actual audio topology (although we recognized that there
was a set of control panel extensions that needed to access the actual
topology).  However, when these applications accessed the hardware
controls, they messed up audio for all the other apps on the system.  So
we made a decision that for the benefit of the majority of the apps
rendering audio on Vista, we'd present a minimal mixer topology that
provided only the controls that an application would need.

Unfortunately, it appears that your control panel plugin requires access
to the hardware, we do have replacement for the mixer APIs that allows
an application to directly access the audio hardware.  If you use the
IDeviceTopology API interface, you can directly examine the topology
offered by your audio solution and access the controls on that solution
directly.

The headers for these new APIs may not yet be available, but they will
be available in a Vista SDK update soon(ish) :(


Larry Osterman


-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Jeff Pages
Sent: Thursday, March 09, 2006 6:53 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Mixer API under Vista build 5308

Our sound cards have an output mux node with faders and mutes for
monitoring the input lines. A number of our clients in the radio
broadcasting industry use these monitor faders under software control in
order to mix live audio with software-generated audio such as wave
files. I've noticed under Vista build 5308 that these monitor faders and
mutes are not appearing in the mixer API, and furthermore calling
mixerGetControlDetails and mixerSetControlDetails on the controls that
do appear is not passing any calls down to the driver's topology port
get/set property handlers.

Is there any way under Vista that these topology nodes can be accessed
programmatically from the mixer API (or elsewhere)?

Jeff Pages
Innes Corporation Pty Ltd
******************

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/

Other related posts: