#include "driver.hh"
Public Types | |
typedef std::shared_ptr< PcmDriver > | PcmDriverP |
![]() | |
enum | { SURROUND , HEADSET , RECORDER , MIDI_THRU , JACK , ALSA_USB , ALSA_KERN , OSS , PULSE , ALSA_USER , PSEUDO , PAUTO , PNULL , WCARD , WDEV , WSUB } |
typedef std::shared_ptr< Driver > | DriverP |
using | Entry = DriverEntry |
using | EntryVec = DriverEntryS |
enum | IODir { READONLY , WRITEONLY , READWRITE } |
Public Member Functions | |
virtual uint | pcm_block_length () const =0 |
virtual bool | pcm_check_io (int64 *timeoutp)=0 |
virtual void | pcm_latency (uint *rlatency, uint *wlatency) const =0 |
virtual uint | pcm_mix_freq () const =0 |
virtual uint | pcm_n_channels () const =0 |
virtual size_t | pcm_read (size_t n, float *values)=0 |
virtual void | pcm_write (size_t n, const float *values)=0 |
![]() | |
virtual void | close ()=0 |
String | devid () const |
bool | opened () const |
bool | readable () const |
bool | writable () const |
Static Public Member Functions | |
static EntryVec | list_drivers () |
static PcmDriverP | open (const String &devid, IODir desired, IODir required, const PcmDriverConfig &config, Ase::Error *ep) |
static String | register_driver (const String &driverid, const std::function< PcmDriverP(const String &)> &create, const std::function< void(EntryVec &)> &list) |
![]() | |
static String | priority_string (uint priority) |
Protected Member Functions | |
virtual Ase::Error | open (IODir iodir, const PcmDriverConfig &config)=0 |
PcmDriver (const String &driver, const String &devid) | |
![]() | |
Driver (const String &driver, const String &devid) | |
template<class Derived > | |
std::shared_ptr< Derived > | shared_from_base () |
virtual | ~Driver () |
Additional Inherited Members | |
![]() | |
const String | devid_ |
const String | driver_ |
size_t | flags_ |
Base class for a PCM devices.
typedef std::shared_ptr<PcmDriver> PcmDriverP |
|
protectedpure virtual |
Implemented in NullPcmDriver.
|
static |
Open PCM device and return a pointer to it, or nullptr with `*ep` set on error.
|
pure virtual |
Implemented in NullPcmDriver.
|
pure virtual |
Implemented in NullPcmDriver.
|
pure virtual |
Implemented in NullPcmDriver.
Implemented in NullPcmDriver.
|
pure virtual |
Implemented in NullPcmDriver.
|
pure virtual |
Implemented in NullPcmDriver.
|
pure virtual |
Implemented in NullPcmDriver.
|
static |
|
static |