Qmmp
Public Member Functions | Static Public Member Functions | Protected Member Functions
Output Class Reference

#include <output.h>

List of all members.

Public Member Functions

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

Static Public Member Functions

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

Protected Member Functions

virtual qint64 writeAudio (unsigned char *data, qint64 maxSize)=0
virtual void drain ()=0
virtual void reset ()=0
virtual void suspend ()
virtual void resume ()
void configure (quint32 freq, int chan, Qmmp::AudioFormat format)

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 ( QObject *  parent = 0)

Object contsructor.

Parameters:
parentParent object.
~Output ( )

Destructor.


Member Function Documentation

Returns selected audio parameters.

qint64 bufferSize ( ) const

Returns buffer size in bytes.

int channels ( )

Returns channels number.

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

Use this function inside initialize() reimplementation to tell about accepted audio parameters.

Parameters:
freqSample rate.
chanNumber of channels.
formatAudio format.
static Output* create ( QObject *  parent = 0) [static]

Creates selected output.

Parameters:
parentParent object.
Returns:
Output subclass object.
static OutputFactory* currentFactory ( ) [static]

Returns selected output factory.

virtual void drain ( ) [protected, pure virtual]

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

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

Returns a list of output factories.

static QString file ( OutputFactory factory) [static]

Returns plugin file path.

Parameters:
factoryOutput plugin factory.
void finish ( )

Requests playback to finish.

Returns selected audio format.

virtual bool initialize ( quint32  freq,
int  chan,
Qmmp::AudioFormat  format 
) [pure virtual]

Prepares object for usage and setups required audio parameters. Subclass should reimplement this function.

Parameters:
freqSample rate.
chanNumber of channels.
formatAudio format
Returns:
initialization result (true - success, false - failure)
virtual qint64 latency ( ) [pure virtual]

Returns output interface latency in milliseconds.

QMutex* mutex ( )

Returns mutex pointer.

void pause ( )

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

Returns Recycler pointer.

virtual void reset ( ) [protected, pure virtual]

Drops all plugin's internal data, resets audio device Subclass should reimplement this function.

virtual void resume ( ) [protected, virtual]

Resumes processing audio data.

quint32 sampleRate ( )

Returns samplerate.

int sampleSize ( ) const

Returns sample size in bytes.

void seek ( qint64  pos,
bool  reset = false 
)

Requests a seek to the time pos indicated, specified in milliseconds. If reset is true, this function also clears internal output buffers for faster seeking; otherwise does nothing with buffers.

static void setCurrentFactory ( OutputFactory factory) [static]

Selects current output factory.

void setStateHandler ( StateHandler handler)

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

Parameters:
handlerStateHandler pointer;
void stop ( )

Requests playback to stop.

virtual void suspend ( ) [protected, virtual]

Stops processing audio data, preserving buffered audio data.

virtual qint64 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 written ( )

Returns the number of bytes that were written.


The documentation for this class was generated from the following file:
 All Classes Functions Variables Enumerations Enumerator