Windows – How to tell what is using an audio stream

audiostandbywindows 7

I've noticed that my computer doesn't want to stay in standby or go to standby after x minutes (as set in my Power Options). Running powercfg -requests tells me that my audio driver is keeping my computer awake… "An audio stream is currently in use"… similar to what was seen in question/answers to uTorrent prevents computer from entering sleep state. Except I'm not running uTorrent, nor any torrenting application.

I know I can (and have, for now) set an override with powercfg -requestsoverride "<audio driver name>" system, but I'm more curious about what is keeping an open audio stream. The only applications I have left open while away are Steam and Trillian. My only guess is that Steam is the culprit because it has an entry in the Volume Mixer, but I can imagine that any application that could play audio at any time might have an entry in there, even if it's not currently using an audio stream.

Is there a way to tell which application(s) is currently using an audio stream (and thus keeping my computer awake)? If it is any help, my hardware/driver is Realtek High Definition Audio.

Additionally, and this is probably asking too much, is there a way to keep known naughty applications from keeping the computer awake? For example, as seen in the comments below, Steam was the culprit, but it shouldn't be hogging an audio stream the whole time just for the chance that I get a message. (I'm assuming this is a bug in the latest version of Steam since this was not an issue in the past.) But I don't like having override set for all audio because, e.g., I could have music playing in VLC or something in which case I don't want my computer to standby.

Best Answer

You can use Process Explorer to find out what programs are using particular handles and DLLs. Try to look for audioses.dll.