diff options
author | Chris Robinson <[email protected]> | 2016-07-29 21:55:43 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2016-07-29 21:55:43 -0700 |
commit | b5b3ea95f899410a5392fb633ace74c10bbd9921 (patch) | |
tree | bc66330db4d484395d1391fb5bd64cb68edeff6d /Alc/backends/mmdevapi.c | |
parent | 96e83f95eef5be8e1f64a1a2e61810cb7b82ff5c (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/mmdevapi.c')
-rw-r--r-- | Alc/backends/mmdevapi.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Alc/backends/mmdevapi.c b/Alc/backends/mmdevapi.c index 60d3be00..03f2f56b 100644 --- a/Alc/backends/mmdevapi.c +++ b/Alc/backends/mmdevapi.c @@ -882,6 +882,9 @@ static HRESULT ALCmmdevPlayback_resetProxy(ALCmmdevPlayback *self) OutputType.dwChannelMask = MONO; break; case DevFmtBFormat3D: + case DevFmtAmbi1: + case DevFmtAmbi2: + case DevFmtAmbi3: device->FmtChans = DevFmtStereo; /*fall-through*/ case DevFmtStereo: @@ -1523,6 +1526,9 @@ static HRESULT ALCmmdevCapture_resetProxy(ALCmmdevCapture *self) break; case DevFmtBFormat3D: + case DevFmtAmbi1: + case DevFmtAmbi2: + case DevFmtAmbi3: return E_FAIL; } switch(device->FmtType) |