From b5b3ea95f899410a5392fb633ace74c10bbd9921 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Fri, 29 Jul 2016 21:55:43 -0700 Subject: 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. --- Alc/backends/mmdevapi.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Alc/backends/mmdevapi.c') 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) -- cgit v1.2.3