Re: Problem running 7.1 headsets with OpenAL-Soft

Chris Robinson <[email protected]> Sat, 03 Nov 2012 06:14:36 -0700
Newsgroups gmane.comp.lib.openal
Message-ID <[email protected]>
On 11/02/2012 09:15 AM, Scott Dev wrote:
> Hi,
>
> I have Plantronics 780 GameCom headsets running in Dolby 7.1 surround sound mode,
> and I'm getting very loud screeching (maybe overdriven?) noises when running
> with Windows XP hardware acceleration on. (Which is the default.) against
> OpenAL-Soft.
>
>  ...
>
> I was running OpenAL from Joal, which is from what I understand the
> OpenAL (not Soft) version 6.14.357.24.  And this worked fine as well.
> I switched to lwjgl 2.8.4 which apparently has OpenAL-Soft 1.14.

Hi.

1.14 seems to trip over a bug in DirectSound, or at least some drivers. 
With 1.14, OpenAL Soft defaults to trying to set 32-bit float output, 
and if that fails, retries with 16-bit int.

However, despite specifying 32-bit float by using a 
WAVE_FORMAT_EXTENSIBLE type with a KSDATAFORMAT_SUBTYPE_IEEE_FLOAT 
subtype, DSound silently sets a 32-bit int format. So OpenAL Soft thinks 
it's set for 32-bit float and passes samples as such, even though it's 
being interpreted as 32-bit integers, which just makes it sound all 
kinds of wrong.

The current Git version of OpenAL Soft has this fixed. It can also be 
fixed manually by forcing 16-bit int output. That's done by editing 
(creating, if needed) %AppData%\alsoft.ini and adding:

[general]
sample-type = int16

..where %AppData% is the environment variable, probably something like 
"C:\Users\[user]\Application Data".


Note that this only applies to hardware accelerated DirectSound. Using 
MMDevAPI (the default in Vista/7) is fine, as is software DSound. I 
believe WinMM output is fine too, but I haven't done any definitive 
testing with that.
_______________________________________________
Openal mailing list
[email protected]
http://opensource.creative.com/mailman/listinfo/openal