[openal] Querying speaker configuration

Peter Mulholland peter.mulholland at vpltd.com
Sat Oct 4 09:54:55 EDT 2014

On 04/10/2014 14:51, Chris Robinson wrote:
> Mainly because it's problematic. Though I can understand the utility in knowing whether you're
> playing out stereo or 5.1 when it's just being used as a pass-through, you get into issues when it
> could start reporting unexpected configurations. Like if an app were made and tested against stereo,
> quad, 5.1, and 7.1 systems, what is it going to do if a user's system suddenly has it return 6.1?
> And in the future, new formats can be added like 8-channel cube, 3D7.1 (which is sort-of-compatible
> with 5.1), B-Format, or a completely user-specified custom setup, which such an app would have no
> way to properly acknowledge or deal with.

Surely if you were using a single source to play a 5.1 or 7.1 premixed source, it is up to OpenAL to 
convert it if appropriate for the output format?

> It would quickly get to a point where all OpenAL could do is lie about what it is and remix the
> input to fit the output, putting you back where you are now.

Isn't it doing that already?
> It's unfortunate that SDL's audio API doesn't work that great for surround sound, because OpenAL
> really isn't designed to be a thin audio API wrapper. Not only does it have its own channel
> remixing, but it adds latency for real-time streams because the buffer queue is another buffering
> layer on top of the card (the system may even have its own latency-adding buffer in addition to that).

I guess PortAudio is more appropriate for this. However in my case, I have used OpenAL because our 
sound code (which is emulating DirectSound, MMDevice and to some extent Xaudio2) may require mixing 
depending on the game running upon it.


Peter Mulholland
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 mailing list