12 #ifndef ROC_SNDIO_BACKEND_MAP_H_
13 #define ROC_SNDIO_BACKEND_MAP_H_
21 #ifdef ROC_TARGET_PULSEAUDIO
25 #ifdef ROC_TARGET_SNDFILE
67 void register_backends_();
68 void register_drivers_();
72 #ifdef ROC_TARGET_PULSEAUDIO
76 #ifdef ROC_TARGET_SNDFILE
Sample specification. Describes sample rate and channels.
Base class for non-copyable objects.
Optionally constructed object.
static T & instance()
Get singleton instance.
void set_frame_size(core::nanoseconds_t frame_length, const audio::SampleSpec &sample_spec)
Set internal buffer size for all backends that need it.
size_t num_backends() const
Get number of backends available.
size_t num_drivers() const
Get number of drivers available.
IBackend & nth_backend(size_t backend_index) const
Get backend by index.
static BackendMap & instance()
Get instance.
const DriverInfo & nth_driver(size_t driver_index) const
Get driver by index.
int64_t nanoseconds_t
Nanoseconds.
Optionally constructed object.