Log an ETW event from your Create and Close callbacks.
Author a .wprp which listens for these events and grabs stacks at the time they
Record the 2000 calls into an .etl.
Share the .etl.
This will reveal who is instantiating the filters (and, hopefully, why.)
From: wdmaudiodev-bounce@xxxxxxxxxxxxx <wdmaudiodev-bounce@xxxxxxxxxxxxx> on
behalf of Gatos, Cobey <cgatos@xxxxxxxxxxxxxxxxx>
Sent: Wednesday, May 15, 2019 10:29:38 AM
Subject: [wdmaudiodev] Excessive AVStream Driver Filter Creation
I have an AVStream driver for a 10 x 8 USB audio device. The driver exposes
both multi-channel input and output audio devices to Windows, and additionally
stereo pair audio devices for each available audio channel pair. There is a
separate filter factory for each of these (11 total).
When I plug my device in, the driver receives hundreds of filter Create and
Close calls - on one of my machines the number approaches 2000 create calls.
This happens without any audio applications open, and without any pins being
created. These calls can continue for a period of 5 - 10 minutes before they
diminish in frequency and stop. When the calls stop, there will be 50 - 60
filters remaining open, and they remain open until I disconnect the device, at
which point they will all be closed. If the driver exposes only multi-channel
input and output devices (2 filter factories), the number of filter Create
calls will decrease to 60 - 80.
I am curious as to why this is happening. Is this normal behavior for Windows?
I have examined the filter using KS Studio, and compared it to filters created
by Windows USB audio class driver, and I am not noticing any significant issues
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
URL to WDMAUDIODEV page: