[wdmaudiodev] Re: Applications that appear in volume mixer

  • From: Larry Osterman <Larry.Osterman@xxxxxxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 31 Aug 2006 13:18:40 -0700

The breakpoint I'm suggesting you try is "PlaySoundW".  It's a public export 
from winmm.dll, and should require no symbols.



From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Alexandra Schoepel (Ally)
Sent: Thursday, August 31, 2006 1:14 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Applications that appear in volume mixer

Hi Larry,

I can appreciate the trouble-shooting and security aspects.  I don't 
intentionally trigger any sounds and the application itself doesn't need or 
want to.  The application is linking and building as a regular Win32 app using 
MFC and uses some of the common control classes including CRichEdit which 
"sounds" suspicious to me from the PlaySound point of view.  Would the 
application register in the mixer because of system sounds (mouse clicks, 
links, tray popups ballons, etc.) due to interaction with the application.  Or 
possibly because of MFC classes like CRichEdit or such?  In any case, having 
the breakpoint would be useful.

Thanks,
Ally

________________________________
From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Larry Osterman
Sent: Thursday, August 31, 2006 12:47 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Applications that appear in volume mixer
If your application is playing audio, you can't prevent it from showing up in 
the mixer.  This is by very intentional design.

The problem is that the sndvol mixer is intended to be used to diagnose and 
solve audio volume related problems - we don't believe that people ever use the 
control panels if they're not trying to figure out how to solve a problem.  The 
problem may be simple (the output volume of my PC is too loud (or soft)), 
that's why we have the "one-click launches the simple volume control" behavior 
- that allows users to easily gain access to the master volume on their machine.

If the user is having a problem with relative volume of apps, we have the 
volume "mixer" app.  And in that mode, it's important to show everything that's 
currently playing audio in the users session.  If an app could hide itself from 
the mixer, then I can almost certainly guarantee that unsavory applications 
will take advantage of it (imagine some form of advertising that pops up audio 
"Buy My Product" alerts every 5 seconds and uses the "hide me from the mixer" 
functionality to make it so the user couldn't silence the application).

If you have your MS contact send me email, I'll give you a breakpoint you can 
set that will help to diagnose this.  First  try my PlaySound suggestion - put 
a breakpoint there, there are a number of system components that will call 
PlaySound and you may not realize it.


From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Alexandra Schoepel (Ally)
Sent: Thursday, August 31, 2006 11:14 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Applications that appear in volume mixer

Hi Larry,

I would like to clarify my intentions.  I am trying to prevent my application 
from showing up in the mixer.  It is a control panel application and not an 
audio playback application, so we don't really want it to show up in the mixer. 
 This would just confuse users.  I am trying to figure out what may be 
triggering it to show up in the mixer.  Since the application codebase coexists 
with an XP build, I tried to remove all references to dsound and winmm api 
calls at runtime and that didn't seem to help.  I don't call any Core Audio 
APIs for vista at this point.

Thanks,
Ally

________________________________
From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Larry Osterman
Sent: Thursday, August 31, 2006 10:00 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Applications that appear in volume mixer
If it plays a sound, it should show up in the mixer.

The display is toggled on the session state transition from Inactive to Active, 
which occurs when the application calls the WASAPI "IAudioClient->Start()" 
method.

What build are you testing on?  This behavior has been pretty consistent across 
the public releases of Vista, although some early beta2 builds may have had 
different behavior (the session state was set to active when an application 
called IAudioClient::Initialize() in those builds).






Larry Osterman.



From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Alexandra Schoepel (Ally)
Sent: Thursday, August 31, 2006 9:52 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Applications that appear in volume mixer


Hi,

What qualifies an application to appear in the "volume mixer" (not sure if that 
is the right terminology) on Vista?

For instance, if I open notepad, it doesn't appear in the mixer.  On the other 
hand, I have an application that links the libraries for dsound and winmm.  It 
doesn't use any of their functions, yet it is appearing in the volume mixer.  
This same application queries and sets our audio device for properties via the 
DeviceIOControl functions.  However, since it isn't playing any audio or using 
either of the sound API's, I wouldn't expect it to actually be in the mixer 
(nothing to mix)?  Any advice?

Thanks in advance,
Ally

Other related posts: