This page lists all of the issues with IndirectSound that I know about.
If you discover others please let me know.
Bugs with Existing Features
These are features that don't work properly in all situations.
- 3D audio doesn't update its position in No One Lives Forever 2 unless a key is pressed
- 3D audio doesn't work in The Witcher
- XAudio2 doesn't work correctly with Dolby Digital Live and DTS Connect
- See this thread
- If I understand the problem correctly then there is no way for IndirectSound to work around Microsoft's bug,
because even if I manually set the mastering voice to have more than two channels
XAudio2 would still end up converting its output based on how many speakers
XAudio2 thinks that the device is outputting to.
- One potential fix is this hack
discussed in the thread linked above,
but it requires you being comfortable with manually changing your local XAudio2 DLL
- Another potential fix can be found
- Custom channel masks are not fully supported
- An audio file can specify a channel mask to explicitly request being played in specific speakers
- This works if the given speaker exists, but upmix/downmix support is limited
- A driver can specify specify a non-standard channel mask to define custom speaker configurations
- This is not currently supported; I don't know if any common gaming audio hardware uses this
These are features that IndirectSound doesn't support.
EAX ("Environmental Audio Extensions") is a collection of extensions to DirectSound
created by Creative Technology
which provides features that were used by many older games,
and EAX support is often required to experience a game
the way that its creators intended.
It is not a feature of Microsoft's DirectSound API, however
(hence the name "extensions"),
and is not required for 3D positional audio.
The future of EAX emulation in IndirectSound is uncertain.
Currently EAX support is emulated,
meaning that IndirectSound pretends that EAX is supported
and games will respond accordingly,
but there is no actual audible difference when EAX is enabled or disabled.
Doing true DSP emulation is quite a bit more difficult,
and even if the correct effects were implemented it wouldn't be true emulation
since Creative's algorithms are (understandably) proprietary.
- Significant progress was made towards true EAX emulation,
but some difficult and frustrating bugs got in the way.
Very little progress has been made in the past few years,
but the hope and intent is to still be able to release something eventually.
IndirectSound does not yet support or emulate Microsoft's standard audio effects:
- I3DL2 Reverb
- Parametric Equalization
- Waves Reverb
I am not sure how widely-used any of these were
(I haven't observed any game try to use them).
I believe that their non-support is handled correctly,
but without testing it is hard to say for sure.
I would eventually like to emulate them,
but providing EAX support is a much higher priority.
Copyright © 2012-2018 John-Paul Ownby