Go back to libsamplerate.
parent
3eb38ccb89
commit
86d1c640ff
|
|
@ -28,7 +28,6 @@
|
|||
|
||||
#include "../util/logging/ulog.h"
|
||||
|
||||
#if 0
|
||||
// returns number of output samples generated by resampling
|
||||
// TBD -- remove identical version from util.cpp.
|
||||
static int resample_step(SRC_STATE *src,
|
||||
|
|
@ -68,7 +67,6 @@ static int resample_step(SRC_STATE *src,
|
|||
|
||||
return src_data.output_frames_gen;
|
||||
}
|
||||
#endif
|
||||
|
||||
ResampleStep::ResampleStep(int inputSampleRate, int outputSampleRate, bool forPlotsOnly)
|
||||
: inputSampleRate_(inputSampleRate)
|
||||
|
|
@ -76,9 +74,7 @@ ResampleStep::ResampleStep(int inputSampleRate, int outputSampleRate, bool forPl
|
|||
{
|
||||
int src_error;
|
||||
|
||||
//resampleState_ = src_new(forPlotsOnly ? SRC_LINEAR : SRC_SINC_MEDIUM_QUALITY, 1, &src_error);
|
||||
//assert(resampleState_ != nullptr);
|
||||
resampleState_ = speex_resampler_init(1, inputSampleRate, outputSampleRate, 8, &src_error);
|
||||
resampleState_ = src_new(forPlotsOnly ? SRC_LINEAR : SRC_SINC_MEDIUM_QUALITY, 1, &src_error);
|
||||
assert(resampleState_ != nullptr);
|
||||
|
||||
// Pre-allocate buffers so we don't have to do so during real-time operation.
|
||||
|
|
@ -94,8 +90,7 @@ ResampleStep::ResampleStep(int inputSampleRate, int outputSampleRate, bool forPl
|
|||
|
||||
ResampleStep::~ResampleStep()
|
||||
{
|
||||
//src_delete(resampleState_);
|
||||
speex_resampler_destroy(resampleState_);
|
||||
src_delete(resampleState_);
|
||||
|
||||
delete[] tempInput_;
|
||||
delete[] tempOutput_;
|
||||
|
|
@ -131,7 +126,6 @@ short* ResampleStep::execute(short* inputSamples, int numInputSamples, int* numO
|
|||
|
||||
auto inputPtr = inputSamples;
|
||||
auto outputPtr = outputSamples_.get();
|
||||
#if 0
|
||||
while (numInputSamples > 0)
|
||||
{
|
||||
int inputSize = std::min(numInputSamples, inputSampleRate_ * 10 / 1000);
|
||||
|
|
@ -146,11 +140,6 @@ short* ResampleStep::execute(short* inputSamples, int numInputSamples, int* numO
|
|||
numInputSamples -= inputSize;
|
||||
*numOutputSamples += numSamples;
|
||||
}
|
||||
#endif
|
||||
uint32_t inSampleSize = numInputSamples;
|
||||
uint32_t outSampleSize = outputSampleRate_;
|
||||
speex_resampler_process_int(resampleState_, 0, inputSamples, &inSampleSize, outputPtr, &outSampleSize);
|
||||
*numOutputSamples = outSampleSize;
|
||||
|
||||
return outputSamples_.get();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,8 +26,7 @@
|
|||
#include "IPipelineStep.h"
|
||||
|
||||
#include <memory>
|
||||
//#include <samplerate.h>
|
||||
#include <speex/speex_resampler.h>
|
||||
#include <samplerate.h>
|
||||
|
||||
class ResampleStep : public IPipelineStep
|
||||
{
|
||||
|
|
@ -42,8 +41,7 @@ public:
|
|||
private:
|
||||
int inputSampleRate_;
|
||||
int outputSampleRate_;
|
||||
//SRC_STATE* resampleState_;
|
||||
SpeexResamplerState* resampleState_;
|
||||
SRC_STATE* resampleState_;
|
||||
|
||||
float* tempInput_;
|
||||
float* tempOutput_;
|
||||
|
|
|
|||
Loading…
Reference in New Issue