[wdmaudiodev] Re: AVStream Mixer Problems

  • From: "DJ Sisolak" <dsisolak@xxxxxxxxxxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 20 Aug 2004 11:12:39 -0700

Hello John,


I am guessing the problem you are seeing is due to the placement of the
SUM node in your topology. When the topology parser in wdmaud sees this
node it assumes there is some sort of branching going on and looks
downstream for master controls. Thus if your Volume and mute controls
are upstream fro this node they would not be considered the master.


What is the exact topology you are describing?



DJ Sisolak

Microsoft Corp.


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



From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of John D. Farmer
Sent: Friday, August 20, 2004 9:47 AM
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: