aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
diff options
context:
space:
mode:
Diffstat (limited to 'Alc')
-rw-r--r--Alc/mixer.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/Alc/mixer.c b/Alc/mixer.c
index 6f2bf005..ecf3d062 100644
--- a/Alc/mixer.c
+++ b/Alc/mixer.c
@@ -525,6 +525,24 @@ DECL_TEMPLATE(ALubyte, QuadChans, lerp8)
DECL_TEMPLATE(ALubyte, QuadChans, cubic8)
+static const Channel RearChans[] = { BACK_LEFT, BACK_RIGHT };
+DECL_TEMPLATE(ALdouble, RearChans, point64)
+DECL_TEMPLATE(ALdouble, RearChans, lerp64)
+DECL_TEMPLATE(ALdouble, RearChans, cubic64)
+
+DECL_TEMPLATE(ALfloat, RearChans, point32)
+DECL_TEMPLATE(ALfloat, RearChans, lerp32)
+DECL_TEMPLATE(ALfloat, RearChans, cubic32)
+
+DECL_TEMPLATE(ALshort, RearChans, point16)
+DECL_TEMPLATE(ALshort, RearChans, lerp16)
+DECL_TEMPLATE(ALshort, RearChans, cubic16)
+
+DECL_TEMPLATE(ALubyte, RearChans, point8)
+DECL_TEMPLATE(ALubyte, RearChans, lerp8)
+DECL_TEMPLATE(ALubyte, RearChans, cubic8)
+
+
static const Channel X51Chans[] = { FRONT_LEFT, FRONT_RIGHT,
FRONT_CENTER, LFE,
BACK_LEFT, BACK_RIGHT };
@@ -612,6 +630,11 @@ static void Mix_##T##_##sampler(ALsource *Source, ALCdevice *Device, \
Data, DataPosInt, DataPosFrac, \
OutPos, SamplesToDo, BufferSize); \
break; \
+ case FmtRear: \
+ Mix_##T##_RearChans_##sampler(Source, Device, \
+ Data, DataPosInt, DataPosFrac, \
+ OutPos, SamplesToDo, BufferSize); \
+ break; \
case Fmt51ChanWFX: \
Mix_##T##_X51Chans_##sampler(Source, Device, \
Data, DataPosInt, DataPosFrac, \