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];
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.
Audio frames and audio processing.
ResamplerBackend
Resampler backends.
ResamplerProfile
Resampler parameters presets.
Shared ownership intrusive pointer.
Commonly used types and functions.
Various units used in packets.