SlimDX: E_OUTOFMEMORY on SecondarySoundBuffer.Play

Started by
2 comments, last by x4000 14 years, 10 months ago
I hope this is not another user machine error, but I wanted to run it by you guys and see if you have any ideas on what this might be. I've quizzed the user in depth, he has reinstalled SlimDX (March 2009 SP1), DirectX 9.0c, etc, and he seems to have all of the .NET Framework versions installed and up to date. All his dxdiag results look okay to me, too, but I'm no expert. Here's a thread with more information straight from the user: http://rpgcodex.net/phpBB/viewtopic.php?t=33102&postdays=0&postorder=asc&start=21 The issue is that whenever the code calls the Play method on SecondarySoundBuffer, the following exception is thrown: SlimDX.DirectSound.DirectSoundException: E_OUTOFMEMORY: Ran out of memory (-2147024882) at SlimDX.Result.Throw[T](Object dataKey, Object dataValue) at SlimDX.Result.Record[T](Int32 hr, Boolean failed, Object dataKey, Object dataValue) at SlimDX.DirectSound.SoundBuffer.Play(Int32 priority, PlayFlags flags) This same code is working fine for dozens of other users, many who are on the same OS and machine as this user, so clearly something must be out of whack with his underlying stuff. But after he's reinstalled basically everything relevant, I can't imagine what it is -- I don't know if this is something in SlimDX that is failing, or if it is lower level, down to something messed up in the user's DirectX installation. Any thoughts? Thanks in advance for any help you can offer!
Advertisement
Sorry, I'm at a loss. The SlimDX methods here are simple forwards, and the error code is coming back from DX. I'm not even sure why the Play method would be allocating. As an added bonus, E_OUTOFMEMORY isn't even listed as a possible return code for the function, let alone suggesting any reasons.

Escalate to MS, maybe? I don't know if it could be a driver layer bug or what. Are you requesting hardware mixing? I'm wondering if maybe software would dodge a faulty driver and fix it.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Hi, thanks for the response -- I'll try adding software mixing as an option, and see if that changes anything for the user. If not, I'll escalate to MS -- do you happen to know the best place to reach them for Dsound issues?

Thanks for the response!
Chris
Okay, just for reference in case anyone else runs into this. Promit and I carried on this conversation some by email, and he figured out that this was an error code that actually CAN come back from that method if the buffer is filled by too much data, which is what I was doing. Strange that only one user ever had a problem with this, but evidently something about his machine was causing the limitation that no one else had.

As a solution, I wound up converting an MDX Directsound streaming solution over to SlimDX. I've posted the code and notes here, as well as links to the original article my work is based on: http://christophermpark.blogspot.com/2009/06/how-to-stream-ogg-file-using.html

Hope that helps, if anyone else is running into this at some point.

This topic is closed to new replies.

Advertisement