aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32
diff options
context:
space:
mode:
Diffstat (limited to 'OpenAL32')
-rw-r--r--OpenAL32/Include/alBuffer.h1
-rw-r--r--OpenAL32/Include/alSource.h15
-rw-r--r--OpenAL32/alBuffer.c8
-rw-r--r--OpenAL32/alSource.c2
4 files changed, 14 insertions, 12 deletions
diff --git a/OpenAL32/Include/alBuffer.h b/OpenAL32/Include/alBuffer.h
index f1d64666..19390e5e 100644
--- a/OpenAL32/Include/alBuffer.h
+++ b/OpenAL32/Include/alBuffer.h
@@ -57,6 +57,7 @@ enum FmtChannels {
FmtX61 = UserFmtX61,
FmtX71 = UserFmtX71,
};
+#define MAX_INPUT_CHANNELS (8)
ALuint BytesFromFmt(enum FmtType type);
ALuint ChannelsFromFmt(enum FmtChannels chans);
diff --git a/OpenAL32/Include/alSource.h b/OpenAL32/Include/alSource.h
index 8766c85e..e049d987 100644
--- a/OpenAL32/Include/alSource.h
+++ b/OpenAL32/Include/alSource.h
@@ -6,6 +6,7 @@
#include "alMain.h"
#include "alu.h"
#include "alFilter.h"
+#include "alBuffer.h"
#ifdef __cplusplus
extern "C" {
@@ -31,17 +32,17 @@ typedef struct ALbufferlistitem
typedef struct HrtfState {
ALboolean Moving;
ALuint Counter;
- ALIGN(16) ALfloat History[MaxChannels][SRC_HISTORY_LENGTH];
- ALIGN(16) ALfloat Values[MaxChannels][HRIR_LENGTH][2];
+ ALIGN(16) ALfloat History[MAX_INPUT_CHANNELS][SRC_HISTORY_LENGTH];
+ ALIGN(16) ALfloat Values[MAX_INPUT_CHANNELS][HRIR_LENGTH][2];
ALuint Offset;
} HrtfState;
typedef struct HrtfParams {
ALfloat Gain;
ALfloat Dir[3];
- ALIGN(16) ALfloat Coeffs[MaxChannels][HRIR_LENGTH][2];
+ ALIGN(16) ALfloat Coeffs[MAX_INPUT_CHANNELS][HRIR_LENGTH][2];
ALIGN(16) ALfloat CoeffStep[HRIR_LENGTH][2];
- ALuint Delay[MaxChannels][2];
+ ALuint Delay[MAX_INPUT_CHANNELS][2];
ALint DelayStep[2];
ALuint IrSize;
} HrtfParams;
@@ -59,9 +60,9 @@ typedef struct DirectParams {
/* A mixing matrix. First subscript is the channel number of the input data
* (regardless of channel configuration) and the second is the channel
* target (eg. FrontLeft). Not used with HRTF. */
- ALfloat Gains[MaxChannels][MaxChannels];
+ ALfloat Gains[MAX_INPUT_CHANNELS][MaxChannels];
- ALfilterState Filter[MaxChannels];
+ ALfilterState Filter[MAX_INPUT_CHANNELS];
} DirectParams;
typedef struct SendParams {
@@ -71,7 +72,7 @@ typedef struct SendParams {
* output buffer. */
ALfloat Gain;
- ALfilterState Filter[MaxChannels];
+ ALfilterState Filter[MAX_INPUT_CHANNELS];
} SendParams;
diff --git a/OpenAL32/alBuffer.c b/OpenAL32/alBuffer.c
index 44eacaff..d12fe80a 100644
--- a/OpenAL32/alBuffer.c
+++ b/OpenAL32/alBuffer.c
@@ -1087,8 +1087,8 @@ static ALalaw EncodeALaw(ALshort val)
static void DecodeIMA4Block(ALshort *dst, const ALima4 *src, ALint numchans)
{
- ALint sample[MaxChannels], index[MaxChannels];
- ALuint code[MaxChannels];
+ ALint sample[MAX_INPUT_CHANNELS], index[MAX_INPUT_CHANNELS];
+ ALuint code[MAX_INPUT_CHANNELS];
ALsizei j,k,c;
for(c = 0;c < numchans;c++)
@@ -1749,7 +1749,7 @@ DECL_TEMPLATE(ALubyte3, ALubyte3)
static void Convert_##T##_ALima4(T *dst, const ALima4 *src, ALuint numchans, \
ALuint len) \
{ \
- ALshort tmp[65*MaxChannels]; /* Max samples an IMA4 frame can be */ \
+ ALshort tmp[65*MAX_INPUT_CHANNELS]; /* Max samples an IMA4 frame can be */\
ALuint i, j, k; \
\
i = 0; \
@@ -1785,7 +1785,7 @@ DECL_TEMPLATE(ALubyte3)
static void Convert_ALima4_##T(ALima4 *dst, const T *src, ALuint numchans, \
ALuint len) \
{ \
- ALshort tmp[65*MaxChannels]; /* Max samples an IMA4 frame can be */ \
+ ALshort tmp[65*MAX_INPUT_CHANNELS]; /* Max samples an IMA4 frame can be */\
ALint sample[MaxChannels] = {0,0,0,0,0,0,0,0}; \
ALint index[MaxChannels] = {0,0,0,0,0,0,0,0}; \
ALuint i, j; \
diff --git a/OpenAL32/alSource.c b/OpenAL32/alSource.c
index c59cec2b..1dd9716c 100644
--- a/OpenAL32/alSource.c
+++ b/OpenAL32/alSource.c
@@ -2326,7 +2326,7 @@ ALvoid SetSourceState(ALsource *Source, ALCcontext *Context, ALenum state)
if(Source->state != AL_PLAYING)
{
- for(j = 0;j < MaxChannels;j++)
+ for(j = 0;j < MAX_INPUT_CHANNELS;j++)
{
for(k = 0;k < SRC_HISTORY_LENGTH;k++)
Source->Hrtf.History[j][k] = 0.0f;