hydrogen 1.2.3
OssDriver Class Reference

OSS Audio Driver. More...

#include <OssDriver.h>

Inheritance diagram for OssDriver:
Object< OssDriver > AudioOutput Base Object< AudioOutput > Base

Public Member Functions

 OssDriver (audioProcessCallback processCallback)
 
 ~OssDriver ()
 
int connect ()
 Connect return 0: Ok return 1: Generic error.
 
void disconnect ()
 
unsigned getBufferSize ()
 
float * getOut_L ()
 
float * getOut_R ()
 
unsigned getSampleRate ()
 
int init (unsigned bufferSize)
 
void write ()
 Write the audio data.
 
- Public Member Functions inherited from Object< OssDriver >
 Object ()
 
 Object (const Object< OssDriver > &other)
 
- Public Member Functions inherited from Base
 Base ()
 
 Base (const Base &other)
 
virtual const char * class_name () const
 
void Print (bool bShort=true) const
 Prints content of toQString() via DEBUGLOG.
 
virtual QString toQString (const QString &sPrefix="", bool bShort=true) const
 Formatted string version for debugging purposes.
 
- Public Member Functions inherited from AudioOutput
 AudioOutput ()=default
 
virtual ~AudioOutput ()
 
virtual int getLatency ()
 Approximate audio latency (in frames) A reasonable approximation is the buffer time on most audio systems.
 
virtual int getXRuns () const
 Get the number of XRuns that occurred since the audio driver has started.
 
- Public Member Functions inherited from Object< AudioOutput >
 Object ()
 
 Object (const Object< AudioOutput > &other)
 

Private Member Functions

int log2 (int n)
 

Private Attributes

short * audioBuffer
 
int fd
 file descriptor, for writing to /dev/dsp
 
float * out_L
 
float * out_R
 
audioProcessCallback processCallback
 

Additional Inherited Members

- Static Public Member Functions inherited from Base
static const char * _class_name ()
 return the class name
 
static QString base_clock (const QString &sMsg)
 Measures the current time and stores it in __last_clock.
 
static QString base_clock_in (const QString &sMsg)
 
static int bootstrap (Logger *logger, bool count=false)
 must be called before any Object instantiation !
 
static bool count_active ()
 
static int getAliveObjectCount ()
 
static object_map_t getObjectMap ()
 
static Loggerlogger ()
 return the logger instance
 
static int objects_count ()
 
static void printObjectMapDiff (object_map_t map)
 Creates the difference between a snapshot of the object map and its current state and prints it to std::cout.
 
static void set_count (bool flag)
 enable/disable class instances counting
 
static void write_objects_map_to (std::ostream &out, object_map_t *map=nullptr)
 output the full objects map to a given ostream
 
static void write_objects_map_to_cerr ()
 output objects map to stderr
 
- Static Public Member Functions inherited from AudioOutput
static QStringList getDevices ()
 
- Static Public Attributes inherited from Base
static QString sPrintIndention = " "
 String used to format the debugging string output of some core classes.
 
- Protected Member Functions inherited from Object< OssDriver >
 ~Object ()
 
- Protected Member Functions inherited from Base
 ~Base ()
 
- Protected Member Functions inherited from Object< AudioOutput >
 ~Object ()
 
- Static Protected Member Functions inherited from Base
static void registerClass (const char *name, const atomic_obj_cpt_t *counters)
 
- Static Protected Attributes inherited from Base
static bool __count = false
 should we count class instances
 
static timeval __last_clock = { 0, 0 }
 
static Logger__logger = nullptr
 

Detailed Description

OSS Audio Driver.

Definition at line 64 of file OssDriver.h.

Constructor & Destructor Documentation

◆ OssDriver()

OssDriver ( audioProcessCallback processCallback)

Definition at line 70 of file OssDriver.cpp.

◆ ~OssDriver()

~OssDriver ( )

Definition at line 85 of file OssDriver.cpp.

Member Function Documentation

◆ connect()

int connect ( )
virtual

Connect return 0: Ok return 1: Generic error.

Implements AudioOutput.

Definition at line 114 of file OssDriver.cpp.

◆ disconnect()

void disconnect ( )
virtual

Implements AudioOutput.

Definition at line 206 of file OssDriver.cpp.

◆ getBufferSize()

unsigned getBufferSize ( )
virtual

Implements AudioOutput.

Definition at line 269 of file OssDriver.cpp.

◆ getOut_L()

float * getOut_L ( )
virtual

Implements AudioOutput.

Definition at line 282 of file OssDriver.cpp.

◆ getOut_R()

float * getOut_R ( )
virtual

Implements AudioOutput.

Definition at line 286 of file OssDriver.cpp.

◆ getSampleRate()

unsigned getSampleRate ( )
virtual

Implements AudioOutput.

Definition at line 275 of file OssDriver.cpp.

◆ init()

int init ( unsigned bufferSize)
virtual

Implements AudioOutput.

Definition at line 90 of file OssDriver.cpp.

◆ log2()

int log2 ( int n)
private

Definition at line 258 of file OssDriver.cpp.

◆ write()

void write ( )

Write the audio data.

Definition at line 235 of file OssDriver.cpp.

Field Documentation

◆ audioBuffer

short* audioBuffer
private

Definition at line 85 of file OssDriver.h.

◆ fd

int fd
private

file descriptor, for writing to /dev/dsp

Definition at line 83 of file OssDriver.h.

◆ out_L

float* out_L
private

Definition at line 86 of file OssDriver.h.

◆ out_R

float* out_R
private

Definition at line 87 of file OssDriver.h.

◆ processCallback

audioProcessCallback processCallback
private

Definition at line 89 of file OssDriver.h.