Skip to content

Class Ase::PcmDriver

ClassList > Ase > PcmDriver

Base class for a PCM devices.

  • #include <driver.hh>

Inherits the following classes: Ase::Driver

Inherited by the following classes: Ase::NullPcmDriver

Public Types

Type Name
typedef std::shared_ptr< PcmDriver > PcmDriverP

Public Types inherited from Ase::Driver

See Ase::Driver

Type Name
enum Driver
typedef std::shared_ptr< Driver > DriverP
typedef DriverEntry Entry
typedef DriverEntryS EntryVec
enum IODir

Public Functions

Type Name
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

Public Functions inherited from Ase::Driver

See Ase::Driver

Type Name
virtual void close () = 0
String devid () const
Return a string which uniquely identifies this driver and device.
bool opened () const
bool readable () const
bool writable () const

Public Static Functions

Type Name
EntryVec list_drivers ()
PcmDriverP open (const String & devid, IODir desired, IODir required, const PcmDriverConfig & config, Ase::Error * ep)
Open PCM device and return a pointer to it, or nullptr with *ep set on error.
String register_driver (const String & driverid, const std::function< PcmDriverP(const String &)> & create, const std::function< void(EntryVec &)> & list)

Public Static Functions inherited from Ase::Driver

See Ase::Driver

Type Name
String priority_string (uint priority)
Return string which represents the given priority mask.

Protected Attributes inherited from Ase::Driver

See Ase::Driver

Type Name
const String devid_
const String driver_
size_t flags_ = = 0

Protected Functions

Type Name
PcmDriver (const String & driver, const String & devid)
virtual Ase::Error open (IODir iodir, const PcmDriverConfig & config) = 0

Protected Functions inherited from Ase::Driver

See Ase::Driver

Type Name
Driver (const String & driver, const String & devid)
std::shared_ptr< Derived > shared_from_base ()
virtual ~Driver ()

Public Types Documentation

typedef PcmDriverP

typedef std::shared_ptr<PcmDriver> Ase::PcmDriver::PcmDriverP;

Public Functions Documentation

function pcm_block_length

virtual uint Ase::PcmDriver::pcm_block_length () const = 0

function pcm_check_io

virtual bool Ase::PcmDriver::pcm_check_io (
    int64 * timeoutp
) = 0

function pcm_latency

virtual void Ase::PcmDriver::pcm_latency (
    uint * rlatency,
    uint * wlatency
) const = 0

function pcm_mix_freq

virtual uint Ase::PcmDriver::pcm_mix_freq () const = 0

function pcm_n_channels

virtual uint Ase::PcmDriver::pcm_n_channels () const = 0

function pcm_read

virtual size_t Ase::PcmDriver::pcm_read (
    size_t n,
    float * values
) = 0

function pcm_write

virtual void Ase::PcmDriver::pcm_write (
    size_t n,
    const float * values
) = 0

Public Static Functions Documentation

function list_drivers

static EntryVec Ase::PcmDriver::list_drivers () 

function open [2/2]

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

function register_driver

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

Protected Functions Documentation

function PcmDriver

explicit Ase::PcmDriver::PcmDriver (
    const String & driver,
    const String & devid
) 

function open [1/2]

virtual Ase::Error Ase::PcmDriver::open (
    IODir iodir,
    const PcmDriverConfig & config
) = 0


The documentation for this class was generated from the following file /__w/anklang/anklang/ase/driver.hh