summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2007-12-31 05:06:59 -0800
committerChris Robinson <[email protected]>2007-12-31 05:06:59 -0800
commitc9a539eade6b5930bd2995b6226f5982d189190b (patch)
tree1f5f048d8a2c8b9bd757a6be8e5d8755b8a3de5f
parentcb1d62f254a26f0bb1af545df9966312b08e1161 (diff)
Allow loading of 4, 5.1, 6.1, and 7.1 sample data
-rw-r--r--OpenAL32/alBuffer.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/OpenAL32/alBuffer.c b/OpenAL32/alBuffer.c
index 13b98b21..c881e1e4 100644
--- a/OpenAL32/alBuffer.c
+++ b/OpenAL32/alBuffer.c
@@ -287,6 +287,30 @@ ALAPI ALvoid ALAPIENTRY alBufferData(ALuint buffer,ALenum format,const ALvoid *d
LoadData(ALBuf, data, size, freq, format, AL_FORMAT_STEREO16);
break;
+ case AL_FORMAT_QUAD8:
+ case AL_FORMAT_QUAD16:
+ case AL_FORMAT_QUAD32:
+ LoadData(ALBuf, data, size, freq, format, AL_FORMAT_QUAD16);
+ break;
+
+ case AL_FORMAT_51CHN8:
+ case AL_FORMAT_51CHN16:
+ case AL_FORMAT_51CHN32:
+ LoadData(ALBuf, data, size, freq, format, AL_FORMAT_51CHN16);
+ break;
+
+ case AL_FORMAT_61CHN8:
+ case AL_FORMAT_61CHN16:
+ case AL_FORMAT_61CHN32:
+ LoadData(ALBuf, data, size, freq, format, AL_FORMAT_61CHN16);
+ break;
+
+ case AL_FORMAT_71CHN8:
+ case AL_FORMAT_71CHN16:
+ case AL_FORMAT_71CHN32:
+ LoadData(ALBuf, data, size, freq, format, AL_FORMAT_71CHN16);
+ break;
+
case AL_FORMAT_MONO_IMA4:
// Here is where things vary:
// nVidia and Apple use 64+1 samples per block => block_size=36 bytes