[openal] Querying speaker configuration
peter.mulholland at vpltd.com
Sat Oct 4 11:02:26 EDT 2014
On 04/10/2014 15:52, Chris Robinson wrote:
> Yup. You could just mix to a 7.1 stream, and OpenAL Soft will automatically down-mix it to stereo,
> quad, 5.1, or whatever else for output. With HRTF enabled, you'd even get virtual 7.1 playback, with
> the front and back channels sounding like they're coming from in front and in back. No need to know
> the output format.
> Of course, ideally you'd want to provide the individual mono sources and pan them around, letting
> OpenAL Soft do the mixing since that will take full advantage of HRTF or vertically-aligned speakers
> when available.
So there is no harm in saying what the speaker format is - if it's not handled, it will still work.
> Pretty much, so you basically end up back where you started -- not knowing the actual format, and
> having OpenAL just remix what you give it to fit the output. At most, you could get a "best fit"
> format, but I don't think there's much downsides to just using 7.1 when available and letting OpenAL
> handle fitting it.
In this case, the game is asking DirectSound what the speaker format is, and the game's own mixing
engine is trying to supply the right format. So there are no "mono" sources to provide. Currently,
it is hardwired to stereo.
I really do not see the harm in adding this information in the same way as it is available for a
loopback device. It may for example be very useful for debug logging, and for those of us who are
using it to provide premixed streams, we're sensible enough to know to be careful with it.
I may resort to making this modification in the precompiled version we ship with our games...
Software Developer & System Administrator
Virtual Programming Ltd
E: peter.mulholland at vpltd.com
Privileged/Confidential Information may be contained in this Electronic
Message and is intended only for the use of the addressee. It may not be
copied or forwarded without the permission of the sender.
More information about the openal