diff options
author | Chris Robinson <[email protected]> | 2018-11-28 23:19:25 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2018-11-28 23:19:25 -0800 |
commit | 57bb4670727c3c26644933b19d4620d565a177e2 (patch) | |
tree | 1e9b5c1fc185634b31704ef44208524b94b8c975 /Alc/converter.cpp | |
parent | e017d9e40f4ce1698d31adc2d2a6ac4f13159a39 (diff) |
Pass the desired resampler to CreateSampleConverter
Diffstat (limited to 'Alc/converter.cpp')
-rw-r--r-- | Alc/converter.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Alc/converter.cpp b/Alc/converter.cpp index d16d2cb7..958936a1 100644 --- a/Alc/converter.cpp +++ b/Alc/converter.cpp @@ -136,7 +136,9 @@ void Stereo2Mono(ALfloat *RESTRICT dst, const void *src, ALsizei frames) } // namespace -SampleConverter *CreateSampleConverter(enum DevFmtType srcType, enum DevFmtType dstType, ALsizei numchans, ALsizei srcRate, ALsizei dstRate) +SampleConverter *CreateSampleConverter(enum DevFmtType srcType, enum DevFmtType dstType, + ALsizei numchans, ALsizei srcRate, ALsizei dstRate, + Resampler resampler) { if(numchans <= 0 || srcRate <= 0 || dstRate <= 0) return nullptr; @@ -161,9 +163,11 @@ SampleConverter *CreateSampleConverter(enum DevFmtType srcType, enum DevFmtType converter->mResample = Resample_copy_C; else { - /* TODO: Allow other resamplers. */ - BsincPrepare(converter->mIncrement, &converter->mState.bsinc, &bsinc12); - converter->mResample = SelectResampler(BSinc12Resampler); + if(resampler == BSinc24Resampler) + BsincPrepare(converter->mIncrement, &converter->mState.bsinc, &bsinc24); + else if(resampler == BSinc12Resampler) + BsincPrepare(converter->mIncrement, &converter->mState.bsinc, &bsinc12); + converter->mResample = SelectResampler(resampler); } return converter; |