Output Class Reference

The Output class provides the base interface class of audio outputs. More...

#include <output.h>

List of all members.

Public Member Functions

 Output (QObject *parent=0)
 ~Output ()
virtual bool initialize ()=0
virtual qint64 latency ()=0
virtual void configure (quint32 freq, int chan, Qmmp::AudioFormat format)
virtual void pause ()
void stop ()
void finish ()
qint64 written ()
void seek (qint64 pos)
Recyclerrecycler ()
QMutex * mutex ()
void setStateHandler (StateHandler *handler)
quint32 sampleRate ()
int numChannels ()
Qmmp::AudioFormat format () const
int sampleSize () const

Static Public Member Functions

static Outputcreate (QObject *parent=0)
static QList< OutputFactory * > * factories ()
static QStringList files ()
static void setCurrentFactory (OutputFactory *factory)
static OutputFactorycurrentFactory ()

Protected Member Functions

virtual qint64 writeAudio (unsigned char *data, qint64 maxSize)=0
virtual void flush ()=0


Detailed Description

The Output class provides the base interface class of audio outputs.

Author:
Brad Hughes <bhughes@trolltech.com>

Ilya Kotov <forkotov@hotmail.ru>


Constructor & Destructor Documentation

Output::Output ( QObject *  parent = 0  ) 

Object contsructor.

Parameters:
parent Parent object.

Output::~Output (  ) 

Destructor.


Member Function Documentation

virtual void Output::configure ( quint32  freq,
int  chan,
Qmmp::AudioFormat  format 
) [virtual]

Setups audio parameters of output interface.

Parameters:
freq Sample rate.
chan Number of channels.
format Audio format

static Output* Output::create ( QObject *  parent = 0  )  [static]

Creates selected output.

Parameters:
parent Parent object.
Returns:
Output subclass object.

static OutputFactory* Output::currentFactory (  )  [static]

Returns selected output factory.

static QList<OutputFactory*>* Output::factories (  )  [static]

Returns a list of output factories.

static QStringList Output::files (  )  [static]

Returns a list of output plugin file names.

void Output::finish (  ) 

Requests playback to finish.

virtual void Output::flush (  )  [protected, pure virtual]

Writes all remaining plugin's internal data to audio output device. Subclass should reimplement this function.

Qmmp::AudioFormat Output::format (  )  const

Returns selected audio format.

virtual bool Output::initialize (  )  [pure virtual]

Prepares object for usage. Subclass should reimplement this function.

Returns:
initialization result (true - success, false - failure)

virtual qint64 Output::latency (  )  [pure virtual]

Returns output interface latency in milliseconds.

QMutex* Output::mutex (  ) 

Returns mutex pointer.

int Output::numChannels (  ) 

Returns channels number.

virtual void Output::pause (  )  [virtual]

Requests playback to pause. If it was paused already, playback should resume. Subclasses that reimplement this function must call the base implementation.

Recycler* Output::recycler (  ) 

Returns Recycler pointer.

quint32 Output::sampleRate (  ) 

Returns samplerate.

int Output::sampleSize (  )  const

Returns sample size in bytes.

void Output::seek ( qint64  pos  ) 

Requests a seek to the time pos indicated, specified in milliseconds.

static void Output::setCurrentFactory ( OutputFactory factory  )  [static]

Selects current output factory.

void Output::setStateHandler ( StateHandler handler  ) 

Sets StateHandler pointer. May be used to override default state handler.

Parameters:
handler StateHandler pointer;

void Output::stop (  ) 

Requests playback to stop.

virtual qint64 Output::writeAudio ( unsigned char *  data,
qint64  maxSize 
) [protected, pure virtual]

Writes up to maxSize bytes from data to the output interface device. Returns the number of bytes written, or -1 if an error occurred. Subclass should reimplement this function.

qint64 Output::written (  ) 

Returns the number of bytes that were written.


The documentation for this class was generated from the following file:

Generated on Sat Mar 27 19:43:01 2010 for Qmmp by  doxygen 1.5.9