summaryrefslogtreecommitdiffstats
path: root/Alc
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2013-05-22 14:25:33 -0700
committerChris Robinson <[email protected]>2013-05-22 14:25:33 -0700
commita6fa4a8bc291e4747d9cc66f4c76002c405bfc4e (patch)
tree713ccb72d1958d77429bada5112d72bd555f40e2 /Alc
parent1bed3cff213548204873c227b4b5dae8e9c27846 (diff)
Recognize DSSPEAKER_5POINT1_SURROUND (and 7POINT1) with DSound
Diffstat (limited to 'Alc')
-rw-r--r--Alc/backends/dsound.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/Alc/backends/dsound.c b/Alc/backends/dsound.c
index c6f666e1..be0a373f 100644
--- a/Alc/backends/dsound.c
+++ b/Alc/backends/dsound.c
@@ -36,11 +36,18 @@
#include "alu.h"
#ifndef DSSPEAKER_5POINT1
-#define DSSPEAKER_5POINT1 6
+# define DSSPEAKER_5POINT1 0x00000006
#endif
#ifndef DSSPEAKER_7POINT1
-#define DSSPEAKER_7POINT1 7
+# define DSSPEAKER_7POINT1 0x00000007
#endif
+#ifndef DSSPEAKER_7POINT1_SURROUND
+# define DSSPEAKER_7POINT1_SURROUND 0x00000008
+#endif
+#ifndef DSSPEAKER_5POINT1_SURROUND
+# define DSSPEAKER_5POINT1_SURROUND 0x00000009
+#endif
+
DEFINE_GUID(KSDATAFORMAT_SUBTYPE_PCM, 0x00000001, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
DEFINE_GUID(KSDATAFORMAT_SUBTYPE_IEEE_FLOAT, 0x00000003, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
@@ -466,9 +473,9 @@ static ALCboolean DSoundResetPlayback(ALCdevice *device)
device->FmtChans = DevFmtStereo;
else if(speakers == DSSPEAKER_QUAD)
device->FmtChans = DevFmtQuad;
- else if(speakers == DSSPEAKER_5POINT1)
+ else if(speakers == DSSPEAKER_5POINT1 || speakers == DSSPEAKER_5POINT1_SURROUND)
device->FmtChans = DevFmtX51;
- else if(speakers == DSSPEAKER_7POINT1)
+ else if(speakers == DSSPEAKER_7POINT1 || speakers == DSSPEAKER_7POINT1_SURROUND)
device->FmtChans = DevFmtX71;
else
ERR("Unknown system speaker config: 0x%lx\n", speakers);