11#include <audio/RingBuffer.hpp>
12#include <buffer/AudioData.hpp>
13#include <switchboard/export.h>
14#include <switchboard_core/AudioBuffer.hpp>
15#include <switchboard_core/SwitchboardCore.hpp>
18namespace switchboard {
20struct SWITCHBOARDSDK_EXPORT ResamplerInternals;
34 Resampler(uint maxNumberOfChannels = constants::STEREO, uint maxNumberOfFrames = constants::MAX_NUMBER_OF_FRAMES);
54 const uint inputSampleRate,
55 const uint outputSampleRate
71 const uint inputSampleRate,
72 const uint outputSampleRate
93 uint outputSampleRate,
94 uint numberOfInputFrames,
95 uint maxNumberOfOutputFrames,
97 bool endOfInput =
false
117 uint inputSampleRate,
118 uint outputSampleRate,
119 uint numberOfInputFrames,
120 uint maxNumberOfOutputFrames,
122 bool endOfInput =
false
143 uint inputSampleRate,
144 uint outputSampleRate,
145 uint numberOfInputFrames,
146 uint maxNumberOfOutputFrames,
149 uint& numberOfInputFramesUsed,
150 uint& numberOfOutputFramesGenerated
167 const std::vector<float>& input,
168 std::vector<float>& output,
169 const uint inputSampleRate,
170 const uint outputSampleRate,
191 ResamplerInternals* internals;
193 buffer::AudioData<float> tempInputBuffer;
194 buffer::AudioData<float> tempOutputBuffer;
195 audio::RingBuffer<float> ringBuffer;
Provides an abstraction around raw audio buffers stored in memory.
Definition AudioBuffer.hpp:22
Resampler(uint maxNumberOfChannels=constants::STEREO, uint maxNumberOfFrames=constants::MAX_NUMBER_OF_FRAMES)
Creates a Resampler instance.
uint process(const AudioBuffer< float > &input, AudioBuffer< float > &output, const uint inputSampleRate, const uint outputSampleRate)
Resamples an input buffer of sampling rate N, to an output buffer of sampling rate M.
int getNumberOfBufferedFrames() const
Retrieves the number of buffered frames currently in the Resampler.
void process(const float *input, float *output, uint inputSampleRate, uint outputSampleRate, uint numberOfInputFrames, uint maxNumberOfOutputFrames, uint numChannels, bool endOfInput, uint &numberOfInputFramesUsed, uint &numberOfOutputFramesGenerated)
Resamples an input buffer of sampling rate N, to an output buffer of sampling rate M.
~Resampler()
Resampler destructor.
uint process(const int16 *input, float *output, uint inputSampleRate, uint outputSampleRate, uint numberOfInputFrames, uint maxNumberOfOutputFrames, uint numChannels, bool endOfInput=false)
Resamples an input buffer of sampling rate N, to an output buffer of sampling rate M.
uint process(const AudioBuffer< int16 > &input, AudioBuffer< int16 > &output, const uint inputSampleRate, const uint outputSampleRate)
Resamples an input buffer of sampling rate N, to an output buffer of sampling rate M.
void reset()
Resets the resampler after endOfInput is set to true in the process method. Needs to be called before...
uint process(const std::vector< float > &input, std::vector< float > &output, const uint inputSampleRate, const uint outputSampleRate, uint numChannels)
Resamples an input buffer of sampling rate N, to an output buffer of sampling rate M....
uint process(const float *input, float *output, uint inputSampleRate, uint outputSampleRate, uint numberOfInputFrames, uint maxNumberOfOutputFrames, uint numChannels, bool endOfInput=false)
Resamples an input buffer of sampling rate N, to an output buffer of sampling rate M.