[wdmaudiodev] WavePciStream runs out of mappings

  • From: Markus Bollinger <bollinger@xxxxxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Tue, 14 Feb 2012 14:09:23 +0100

Hello,
I have a strange problem with my WavePci based driver with a
DirectSound based customer application (I do not have its sources).
The application plays stereo sound for long time (> several weeks).

After a certain time (several days to several weeks) the driver runs
out of mappings (starvation) and the user applications play position
does not continue.
On the first view this sounds normal, but:

- The stream runs out of mappings and
- no SetState KSSTATE_PAUSE or KSSTATE_STOP or else gets called.
- If I additionnaly start another sound application like WinAmp, I get
an error that WinAmp cannot start it's Stream on this device.

Shouldn't Windows be able to mix the sound of several playback sound
(no exclusive mode) applications to the same device even if another
application decides to wait for some unknown reason ?

I already checked the coherence of the positions returned by
GetPosition() with the amount of released mappings.

When I terminate the customer application, I get the usual PAUSE,
ACQUIRE and STOP requests and the stream terminates normally (no
unexpected RevokeMappings)

When I restart the application it is playing sound and I am able to
mix the WinAmp's sound to the same device.

I observe this on a Windows Server 2008 R2 x64. Not yet reproduced on
other Windows versions, but the customer confirmed that it happens
also on Windows 7 32 and 64 bit

Any idea ?
Markus.
******************

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/

Other related posts: