aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/mixer_c.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2012-10-05 06:03:19 -0700
committerChris Robinson <[email protected]>2012-10-05 06:03:19 -0700
commita6287fd407b87b0bf983dcf8fc17ac66c0ae7d23 (patch)
tree68ce82ccac121b92982af6c2d944f4a856057ca7 /Alc/mixer_c.c
parent16bdf79d4cbb87a90ff70d981d02eecb0fc4bed1 (diff)
Add a special resampler for matching sample rates
Diffstat (limited to 'Alc/mixer_c.c')
-rw-r--r--Alc/mixer_c.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/Alc/mixer_c.c b/Alc/mixer_c.c
index b1ffb11b..28eee188 100644
--- a/Alc/mixer_c.c
+++ b/Alc/mixer_c.c
@@ -1,5 +1,7 @@
#include "config.h"
+#include <assert.h>
+
#include "alMain.h"
#include "alu.h"
#include "alSource.h"
@@ -13,6 +15,14 @@ static __inline ALfloat lerp32(const ALfloat *vals, ALuint frac)
static __inline ALfloat cubic32(const ALfloat *vals, ALuint frac)
{ return cubic(vals[-1], vals[0], vals[1], vals[2], frac * (1.0f/FRACTIONONE)); }
+void Resample_copy32_C(const ALfloat *data, ALuint frac,
+ ALuint increment, ALfloat *RESTRICT OutBuffer, ALuint BufferSize)
+{
+ (void)frac;
+ assert(increment==FRACTIONONE);
+ memcpy(OutBuffer, data, (BufferSize+1)*sizeof(ALfloat));
+}
+
#define DECL_TEMPLATE(Sampler) \
void Resample_##Sampler##_C(const ALfloat *data, ALuint frac, \
ALuint increment, ALfloat *RESTRICT OutBuffer, ALuint BufferSize) \