aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends/dsound.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/dsound.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/dsound.c')
-rw-r--r--Alc/backends/dsound.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/Alc/backends/dsound.c b/Alc/backends/dsound.c
index da6fbacf..a477360c 100644
--- a/Alc/backends/dsound.c
+++ b/Alc/backends/dsound.c
@@ -473,6 +473,9 @@ static ALCboolean ALCdsoundPlayback_reset(ALCdsoundPlayback *self)
OutputType.dwChannelMask = SPEAKER_FRONT_CENTER;
break;
case DevFmtBFormat3D:
+ case DevFmtAmbi1:
+ case DevFmtAmbi2:
+ case DevFmtAmbi3:
device->FmtChans = DevFmtStereo;
/*fall-through*/
case DevFmtStereo:
@@ -789,6 +792,9 @@ static ALCenum ALCdsoundCapture_open(ALCdsoundCapture *self, const ALCchar *devi
SPEAKER_SIDE_RIGHT;
break;
case DevFmtBFormat3D:
+ case DevFmtAmbi1:
+ case DevFmtAmbi2:
+ case DevFmtAmbi3:
break;
}