[wdmaudiodev] Re: AVStream Mixer Problems

  • From: "Mathieu Routhier" <mrouthier@xxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 20 Aug 2004 13:55:00 -0400

It grieves me to see you're having topology problems.  To me, this has
always been the most confusing area of audio in Windows.


I don't know if this is going to help you; but in my experience, the "name"
and the "category" guids of the pins connected to the node you want to set
as the "master volume" are important.  Have a look at the samples MSVAD,
SB16 and such, to see how they implement their topology.


Good luck,




From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of John D. Farmer
Sent: Friday, August 20, 2004 12:47 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] AVStream Mixer Problems




I'm creating a AVStream audio device that registers itself as a audio
playback device.  When I select the device as my default playback device, I
can hear the sound and everything is fine and good.  But now I am working on
implementing the audio mixer for the device (e.g. Volume, Mute, Microphone
Volume, ect).  


When I open up the Sounds and Audio Devices control panel, 'Device volume'
section is grayed out as well as the buttons in the 'Speaker settings'
section on the Volume tab.  When I go to the Audio tab I can access the
Volume and Advanced buttons for both my Sound playback and Sound recording.
If I choose the Volume button for Sound playback, I see my Wave, CD Audio,
and SW Synth mixers, but I seem to lack the Master Volume mixer.  If I go to
the properties in Sndvol32 for my device I see "Playback" and "Recording"
radio buttons.  Under playback I see the same mixers as I saw previously,
and under Recording I see no volume controls.  


I assume once I implement the Master Volume mixer that the controls on the
'Device volume' and 'Speaker settings' sections will be enabled.   So how do
I implement the Master Volume mixer?  

I've created a simple wave topology that implements Volume, Mute, SUM,  ADC
and DAC nodes for my speaker and microphone pins.  When I look in KS Studio
I see my driver under the KSCATEGORY_AUDIO Filter Factories as a Audio
device (or a \wave device).  I looked at other soundcards on different
systems and they also seem to have a Mixer node (or a \topology device).  I
assume that these soundcard drivers are portcls drivers.  When I instantiate
both of these filters they automatically connect (I've seen this behavior
before in the MSVAD sample and understand the theory of how these filters
work together).  So is there a way to create a Topology Filter and a Wave
Filter for my device, or does AVStream do it a different way.  I see that
portcls drivers uses PcRegisterSubDevice to register these filters but I
have been unable to find the AVStream equivalent.


Any help would be greatly appreciated.




John Farmer

Other related posts: