* If I mute the master control at the Windows sound control window, then my
monitoring app receives unattenuated sound.
Monitoring applications are expected to call
IAudioEndpointVolume::QueryHardwareSupport. If the
ENDPOINT_HARDWARE_SUPPORT_VOLUME is set, then the audio received at the
loopback interface will be unattenuated. If the ENDPOINT_HARDWARE_SUPPORT_MUTE
is set, then the audio received at the loopback interface will be unmuted.
What does your application do with the monitored audio it receives? If it is
just driving a peak meter, I will suggest using IAudioMeterInformation instead.
From: Jeff<mailto:indirectoffset+wdmaudiodev@xxxxxxxxx>
Sent: Friday, January 31, 2020 8:57 AM
To: wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx>
Subject: [EXTERNAL] [wdmaudiodev] Letting Windows control mute
I have composed a virtual audio driver for Windows 10 based on the WaveCyclic
sample. I have an app that opens the device endpoint's loopback interface to
monitor sound played by other apps into the device. I have removed the volume
and mute nodes from the sample's topology with the expectation that Windows
would manage those functions for me, but it turns out to manage only volume. If
I mute the master control at the Windows sound control window, then my
monitoring app receives unattenuated sound.
How can I get mute to work on the loopback?
Fwiw, when I replace the mute node in the driver's topology, I don't see its
handler called when I mute from sndvol.
Thank you for any advice you may have.
- Jeff.