This project has moved. For the latest updates, please go here.

DirectSoundOut's CreateSoundBuffer error (HRESULT: 0x88780064 DSERR_BADFORMAT) in Windows XP (DX 9.0c)

Sep 21, 2012 at 4:51 PM

This is happening with NAudio's DirectSoundOut in Windows XP.  Seems like it's related to the DirectX version, because it works fine in Vista+ (w/DX 10+).  I'm wondering if anyone has ran into this and can maybe suggest a workaround.  I've also emailed the contact info from the file - Alexandre Mutel - for ideas.  

Sep 21, 2012 at 5:15 PM

probably just means you're trying to play a WaveFormat that DirectSound doesn't support. What is the WaveFormat of the WaveProvider you are passing to the Init function?

Sep 21, 2012 at 5:45 PM

Thanks for the quick response.  GSM 6.10 and CCITT u-Law are two of the formats.  Going by the error, it definitely makes sense that this is what's going on.  I don't get why they would work fine with dx10+ though, I didn't think it added any support.  

Sep 25, 2012 at 6:32 AM

try using WaveFormatConversionStream.CreatePcmStream

Sep 26, 2012 at 7:00 PM
Edited Sep 26, 2012 at 7:01 PM

Works fine on a local XP install.  I've dug into it more since the original post and have come to the conclusion that it isn't related to DX 9.0c, but actually related to the Microsoft RDP Audio Driver.  The DirectSoundOut and CreatePcmStream problems only happen over remote desktop when the remote machine is XP, with this RDP Audio Driver.  

I didn't realize it was a special case originally since I wasn't running XP locally. 

Sep 30, 2012 at 6:34 AM

Yes, the RDP audio driver is quite limited