12 #ifndef ROC_AUDIO_RESAMPLER_MAP_H_
13 #define ROC_AUDIO_RESAMPLER_MAP_H_
56 enum { MaxBackends = 4 };
66 FrameFactory& frame_factory,
68 const SampleSpec& in_spec,
69 const SampleSpec& out_spec);
74 void add_backend_(
const Backend& backend);
77 Backend backends_[MaxBackends];
Factory class for IResampler objects, according to the ResamplerBackend input.
ResamplerBackend nth_backend(size_t n) const
Get backend ID by number.
core::SharedPtr< IResampler > new_resampler(core::IArena &arena, FrameFactory &frame_factory, const ResamplerConfig &config, const SampleSpec &in_spec, const SampleSpec &out_spec)
Instantiate IResampler for given backend ID.
static ResamplerMap & instance()
Get instance.
size_t num_backends() const
Get number of backends.
bool is_supported(ResamplerBackend backend_id) const
Check if given backend is supported.
Sample specification. Describes sample rate and channels.
Base class for non-copyable objects.
Shared ownership intrusive pointer.
static T & instance()
Get singleton instance.
Audio resampler interface.
ResamplerBackend
Resampler backends.
ResamplerProfile
Resampler parameters presets.
Shared ownership intrusive pointer.
Commonly used types and functions.
Various units used in packets.