Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
roc::sndio::IBackend Class Referenceabstract

Backend interface. More...

#include <ibackend.h>

Inheritance diagram for roc::sndio::IBackend:

Public Types

enum  FilterFlags { FilterSink = (1 << 0), FilterSource = (1 << 1), FilterFile = (1 << 2), FilterDevice = (1 << 3) }
 Probing flags. More...
 

Public Member Functions

virtual bool probe (const char *driver, const char *inout, int filter_flags)=0
 Check whether the backend can handle given input or output. More...
 
virtual ISinkopen_sink (core::IAllocator &allocator, const char *driver, const char *output, const Config &config)=0
 Create and open a sink. More...
 
virtual ISourceopen_source (core::IAllocator &allocator, const char *driver, const char *input, const Config &config)=0
 Create and open a source. More...
 
virtual bool get_drivers (core::Array< DriverInfo > &arr, int filter_flags)=0
 Append supported dirvers to the list. More...
 

Detailed Description

Backend interface.

Definition at line 27 of file ibackend.h.

Member Enumeration Documentation

Probing flags.

Enumerator
FilterSink 

Input or output may be a sink.

FilterSource 

Input or output may be a source.

FilterFile 

Input or output may be a file.

FilterDevice 

Input or output may be a device.

Definition at line 32 of file ibackend.h.

Member Function Documentation

virtual bool roc::sndio::IBackend::get_drivers ( core::Array< DriverInfo > &  arr,
int  filter_flags 
)
pure virtual

Append supported dirvers to the list.

Implemented in roc::sndio::SoxBackend, and roc::sndio::PulseaudioBackend.

virtual ISink* roc::sndio::IBackend::open_sink ( core::IAllocator allocator,
const char *  driver,
const char *  output,
const Config config 
)
pure virtual

Create and open a sink.

Implemented in roc::sndio::SoxBackend, and roc::sndio::PulseaudioBackend.

virtual ISource* roc::sndio::IBackend::open_source ( core::IAllocator allocator,
const char *  driver,
const char *  input,
const Config config 
)
pure virtual

Create and open a source.

Implemented in roc::sndio::SoxBackend, and roc::sndio::PulseaudioBackend.

virtual bool roc::sndio::IBackend::probe ( const char *  driver,
const char *  inout,
int  filter_flags 
)
pure virtual

Check whether the backend can handle given input or output.

Implemented in roc::sndio::SoxBackend, and roc::sndio::PulseaudioBackend.


The documentation for this class was generated from the following file: