hydrogen 1.2.5
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 ()
Public Member Functions inherited from Base
 Base ()
 Base (const Base &other)
virtual const char * class_name () const
void logBacktrace () const
 Print the current stack at point into the debug log.
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 ()

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
static bool bLogColors = true

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.