Greetings,
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.
Regards,
Eddie