Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
|
Built-in resampler. More...
#include <builtin_resampler.h>
Public Member Functions | |
BuiltinResampler (core::IArena &arena, FrameFactory &frame_factory, ResamplerProfile profile, const SampleSpec &in_spec, const SampleSpec &out_spec) | |
Initialize. More... | |
virtual bool | is_valid () const |
Check if object is successfully constructed. More... | |
virtual bool | set_scaling (size_t input_rate, size_t output_rate, float multiplier) |
Set new resample factor. More... | |
virtual const core::Slice< sample_t > & | begin_push_input () |
Get buffer to be filled with input data. More... | |
virtual void | end_push_input () |
Commit buffer with input data. More... | |
virtual size_t | pop_output (sample_t *out_data, size_t out_size) |
Read samples from input frame and fill output frame. More... | |
virtual float | n_left_to_process () const |
How many samples were pushed but not processed yet. More... | |
Public Member Functions inherited from roc::audio::IResampler | |
IResampler (core::IArena &arena) | |
Initialization. More... | |
virtual | ~IResampler () |
Deinitialization. More... | |
Public Member Functions inherited from roc::core::RefCounted< IResampler, core::ArenaAllocation > | |
RefCounted () | |
Initialize. More... | |
RefCounted (const core::ArenaAllocation &policy) | |
Initialize. More... | |
int | getref () const |
Get reference counter. More... | |
void | incref () const |
Increment reference counter. More... | |
void | decref () const |
Decrement reference counter. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from roc::core::ArenaAllocation | |
IArena & | arena () const |
Get arena. More... | |
ArenaAllocation (IArena &arena) | |
Initialize. More... | |
template<class T > | |
void | destroy (T &object) |
Destroy object and return memory to arena. More... | |
Built-in resampler.
Resamples audio stream with non-integer dynamically changing factor. Implements bandlimited interpolation from this paper: https://ccrma.stanford.edu/~jos/resample/resample.pdf
This backend is quite CPU-hungry, but it maintains requested scaling factor with very high precision.
Definition at line 39 of file builtin_resampler.h.
roc::audio::BuiltinResampler::BuiltinResampler | ( | core::IArena & | arena, |
FrameFactory & | frame_factory, | ||
ResamplerProfile | profile, | ||
const SampleSpec & | in_spec, | ||
const SampleSpec & | out_spec | ||
) |
Initialize.
|
virtual |
Get buffer to be filled with input data.
Implements roc::audio::IResampler.
|
virtual |
Commit buffer with input data.
Implements roc::audio::IResampler.
|
virtual |
Check if object is successfully constructed.
Implements roc::audio::IResampler.
|
virtual |
How many samples were pushed but not processed yet.
Implements roc::audio::IResampler.
|
virtual |
Read samples from input frame and fill output frame.
Implements roc::audio::IResampler.
|
virtual |
Set new resample factor.
Implements roc::audio::IResampler.