Anklang C++ API 0.0.0
Loading...
Searching...
No Matches
PcmDriverabstract

#include "driver.hh"

Inheritance diagram for PcmDriver:
[legend]

Public Types

typedef std::shared_ptr< PcmDriver >PcmDriverP
- Public Types inherited from Driver
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
usingEntry = DriverEntry
usingEntryVec = DriverEntryS
enum IODir { READONLY , WRITEONLY , READWRITE }

Public Member Functions

virtual uintpcm_block_length () const =0
virtual boolpcm_check_io (int64 *timeoutp)=0
virtual voidpcm_latency (uint *rlatency, uint *wlatency) const =0
virtual uintpcm_mix_freq () const =0
virtual uintpcm_n_channels () const =0
virtual size_tpcm_read (size_t n, float *values)=0
virtual voidpcm_write (size_t n, const float *values)=0
- Public Member Functions inherited from Driver
virtual voidclose ()=0
Stringdevid () const
boolopened () const
boolreadable () const
boolwritable () const

Static Public Member Functions

static EntryVeclist_drivers ()
static PcmDriverPopen (const String &devid, IODir desired, IODir required, const PcmDriverConfig &config, Ase::Error *ep)
static Stringregister_driver (const String &driverid, const std::function< PcmDriverP(const String &)> &create, const std::function< void(EntryVec &)> &list)
- Static Public Member Functions inherited from Driver
static Stringpriority_string (uint priority)

Protected Member Functions

virtual Ase::Erroropen (IODir iodir, const PcmDriverConfig &config)=0
PcmDriver (const String &driver, const String &devid)
- Protected Member Functions inherited from Driver
Driver (const String &driver, const String &devid)
template<class Derived >
std::shared_ptr< Derived >shared_from_base ()
virtual~Driver ()

Additional Inherited Members

- Protected Attributes inherited from Driver
const Stringdevid_
const Stringdriver_
size_tflags_

Detailed Description

Base class for a PCM devices.

Member Typedef Documentation

PcmDriverP

typedef std::shared_ptr<PcmDriver> PcmDriverP

Constructor & Destructor Documentation

PcmDriver()

PcmDriver ( const String & driver,
const String & devid
)
explicitprotected

Member Function Documentation

open() [1/2]

virtual Ase::Error open ( IODir iodir,
const PcmDriverConfig & config
)
protectedpure virtual

Implemented in NullPcmDriver.

open() [2/2]

PcmDriverP open ( const String & devid,
IODir desired,
IODir required,
const PcmDriverConfig & config,
Ase::Error * ep
)
static

Open PCM device and return a pointer to it, or nullptr with `*ep` set on error.

pcm_n_channels()

virtual uint pcm_n_channels ( ) const
pure virtual

Implemented in NullPcmDriver.

pcm_mix_freq()

virtual uint pcm_mix_freq ( ) const
pure virtual

Implemented in NullPcmDriver.

pcm_block_length()

virtual uint pcm_block_length ( ) const
pure virtual

Implemented in NullPcmDriver.

pcm_latency()

virtual void pcm_latency ( uint * rlatency,
uint * wlatency
) const
pure virtual

Implemented in NullPcmDriver.

pcm_check_io()

virtual bool pcm_check_io ( int64 * timeoutp)
pure virtual

Implemented in NullPcmDriver.

pcm_read()

virtual size_t pcm_read ( size_t n,
float * values
)
pure virtual

Implemented in NullPcmDriver.

pcm_write()

virtual void pcm_write ( size_t n,
const float * values
)
pure virtual

Implemented in NullPcmDriver.

list_drivers()

Driver::EntryVec list_drivers ( )
static

register_driver()

String register_driver ( const String & driverid,
const std::function< PcmDriverP(const String &)> & create,
const std::function< void(EntryVec &)> & list
)
static