Qmmp
|
The Output class provides the base interface class of audio outputs. More...
#include <output.h>
Public Member Functions | |
Output () | |
virtual | ~Output () |
virtual bool | initialize (quint32 freq, ChannelMap map, Qmmp::AudioFormat format)=0 |
virtual qint64 | latency ()=0 |
virtual qint64 | writeAudio (unsigned char *data, qint64 maxSize)=0 |
virtual void | drain ()=0 |
virtual void | reset ()=0 |
virtual void | suspend () |
virtual void | resume () |
AudioParameters | audioParameters () const |
quint32 | sampleRate () const |
int | channels () const |
const ChannelMap | channelMap () const |
Qmmp::AudioFormat | format () const |
int | sampleSize () const |
Static Public Member Functions | |
static Output * | create () |
static QList< OutputFactory * > | factories () |
static QString | file (OutputFactory *factory) |
static void | setCurrentFactory (OutputFactory *factory) |
static OutputFactory * | currentFactory () |
Protected Member Functions | |
void | configure (quint32 freq, ChannelMap map, Qmmp::AudioFormat format) |
The Output class provides the base interface class of audio outputs.
Output | ( | ) |
Object contsructor.
virtual ~Output | ( | ) | [virtual] |
Destructor.
AudioParameters audioParameters | ( | ) | const |
Returns selected audio parameters.
const ChannelMap channelMap | ( | ) | const |
Returns required channel map.
int channels | ( | ) | const |
Returns number of channels.
void configure | ( | quint32 | freq, |
ChannelMap | map, | ||
Qmmp::AudioFormat | format | ||
) | [protected] |
Use this function inside initialize() reimplementation to tell about accepted audio parameters.
freq | Sample rate. |
map | Map of channels. |
format | Audio format. |
static OutputFactory* currentFactory | ( | ) | [static] |
Returns selected output factory.
virtual void drain | ( | ) | [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.
factory | Output plugin factory. |
Qmmp::AudioFormat format | ( | ) | const |
Returns selected audio format.
virtual bool initialize | ( | quint32 | freq, |
ChannelMap | map, | ||
Qmmp::AudioFormat | format | ||
) | [pure virtual] |
Prepares object for usage and setups required audio parameters. Subclass should reimplement this function.
freq | Sample rate. |
map | Map of channels. |
format | Audio format |
virtual qint64 latency | ( | ) | [pure virtual] |
Returns output interface latency in milliseconds.
virtual void reset | ( | ) | [pure virtual] |
Drops all plugin's internal data, resets audio device Subclass should reimplement this function.
virtual void resume | ( | ) | [virtual] |
Resumes processing audio data.
quint32 sampleRate | ( | ) | const |
Returns samplerate.
int sampleSize | ( | ) | const |
Returns sample size in bytes.
static void setCurrentFactory | ( | OutputFactory * | factory | ) | [static] |
Selects current output factory.
virtual void suspend | ( | ) | [virtual] |
Stops processing audio data, preserving buffered audio data.
virtual qint64 writeAudio | ( | unsigned char * | data, |
qint64 | maxSize | ||
) | [pure virtual] |
Requests playback to pause. If it was paused already, playback should resume. Subclasses that reimplement this function must call the base implementation.
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.