aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends/wave.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2016-07-29 21:55:43 -0700
committerChris Robinson <[email protected]>2016-07-29 21:55:43 -0700
commitb5b3ea95f899410a5392fb633ace74c10bbd9921 (patch)
treebc66330db4d484395d1391fb5bd64cb68edeff6d /Alc/backends/wave.c
parent96e83f95eef5be8e1f64a1a2e61810cb7b82ff5c (diff)
Add a config to output first-, second-, or third-order ambisonics
Currently incomplete, as second- and third-order output will not correctly handle B-Format input buffers. A standalone up-sampler will be needed, similar to the high-quality decoder. Also, output is ACN ordering with SN3D normalization. A config option will eventually be provided to change this if desired.
Diffstat (limited to 'Alc/backends/wave.c')
-rw-r--r--Alc/backends/wave.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Alc/backends/wave.c b/Alc/backends/wave.c
index af996233..85b4c720 100644
--- a/Alc/backends/wave.c
+++ b/Alc/backends/wave.c
@@ -277,6 +277,11 @@ static ALCboolean ALCwaveBackend_reset(ALCwaveBackend *self)
case DevFmtX51Rear: chanmask = 0x01 | 0x02 | 0x04 | 0x08 | 0x010 | 0x020; break;
case DevFmtX61: chanmask = 0x01 | 0x02 | 0x04 | 0x08 | 0x100 | 0x200 | 0x400; break;
case DevFmtX71: chanmask = 0x01 | 0x02 | 0x04 | 0x08 | 0x010 | 0x020 | 0x200 | 0x400; break;
+ case DevFmtAmbi1:
+ case DevFmtAmbi2:
+ case DevFmtAmbi3:
+ device->FmtChans = DevFmtBFormat3D;
+ /*fall-through*/
case DevFmtBFormat3D:
isbformat = 1;
chanmask = 0;