Eugene, The WavePCI port does guarantee that pin/stream states properly transition between: KSSTATE_STOP <-> KSSTATE_ACQUIRE <-> KSSTATE_PAUSE <-> KSSTATE_RUN Unfortunately, this code only guarantees these transitions on commanded state changes. What it doesn't protect against is a client that opens a pin handle, transitions the pin from stop to acquire to pause, and then closes the pin handle without returning the pin to stop. The port pin destructor code 'should' protect against this by transitioning the miniport pin to KSSTATE_STOP, thereby giving the miniport an opportunity to properly shut down and free its resources. Since you mentioned that this was an intermittent repro it may be the result of a timing or multi-thread issue between stopping the stream and closing the pin handle. Without debugging I can't say for sure. Ken -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Eugene Muzychenko Sent: Tuesday, March 27, 2007 1:26 AM To: Ken Cooper Subject: [wdmaudiodev] Re: WavePCI issue with multiple processors Hello Ken, > I don't have the code in front of me at the moment but I'll take a > closer look tomorrow at the portcls and WDK sample code Could you please take a look to a portcls code that implements stream state transitions? Testing my driver under Vista RTM, I noticed that sometimes a rendering IMiniportWavePciStream object is released (a destructor is called) when the stream is in KSSTATE_PAUSE. It happens only if I open an endpoint properties, select "Advanced" tab and click "Test" button, not every time but very often, and never happens on common audio processing, when DirectSound/MME are used. I already wrote about this: //www.freelists.org/archives/wdmaudiodev/01-2007/msg00112.html Regards, Eugene ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/ ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/