Qmmp
Signals | Public Member Functions | Static Public Member Functions | List of all members
InputSource Class Referenceabstract

#include <inputsource.h>

Inherits QObject.

Inherited by EmptyInputSource, and FileInputSource.

Signals

void ready ()
 
void error ()
 

Public Member Functions

 InputSource (const QString &path, QObject *parent=0)
 
virtual QIODevice * ioDevice ()=0
 
virtual bool initialize ()=0
 
virtual bool isReady ()=0
 
virtual bool isWaiting ()
 
virtual QString contentType () const
 
const QString path () const
 
qint64 offset () const
 
void setOffset (qint64 offset)
 
void addMetaData (const QMap< Qmmp::MetaData, QString > &metaData)
 
bool hasMetaData () const
 
QMap< Qmmp::MetaData, QString > takeMetaData ()
 
void addStreamInfo (const QHash< QString, QString > &info)
 
bool hasStreamInfo () const
 
QHash< QString, QString > takeStreamInfo ()
 

Static Public Member Functions

static InputSourcecreate (const QString &path, QObject *parent=0)
 
static QList< InputSourceFactory * > factories ()
 
static QList< InputSourceFactory * > enabledFactories ()
 
static QString file (InputSourceFactory *factory)
 
static QStringList protocols ()
 
static void setEnabled (InputSourceFactory *factory, bool enable=true)
 
static bool isEnabled (InputSourceFactory *factory)
 

Detailed Description

The InputSource class provides the base interface class of transports.

Author
Ilya Kotov forko.nosp@m.tov0.nosp@m.2@ya..nosp@m.ru

Constructor & Destructor Documentation

◆ InputSource()

InputSource ( const QString &  path,
QObject *  parent = 0 
)

Object contsructor.

Parameters
pathInput source path or url.
parentParent object.

Member Function Documentation

◆ addMetaData()

void addMetaData ( const QMap< Qmmp::MetaData, QString > &  metaData)

Informs input source object about new received metadata. Call of this function is required for all non-local streams/files

Parameters
metaDataMetadata map.

◆ addStreamInfo()

void addStreamInfo ( const QHash< QString, QString > &  info)

Informs input source object about received stream information (for example icy data). Call of this function is required for all non-local streams/files

Parameters
infoStream information map.

◆ contentType()

virtual QString contentType ( ) const
virtual

Returns content type of the input stream. Default implementation returns empty string.

◆ create()

static InputSource* create ( const QString &  path,
QObject *  parent = 0 
)
static

Creates InputSource object.

Parameters
pathInput source path or url.
parentParent object. Returns 0 if the given url is not supported.

◆ enabledFactories()

static QList<InputSourceFactory *> enabledFactories ( )
static

Returns a list of enabled transport factories.

◆ error

void error ( )
signal

This signal is emitted after an error occurred.

◆ factories()

static QList<InputSourceFactory *> factories ( )
static

Returns a list of transport factories.

◆ file()

static QString file ( InputSourceFactory factory)
static

Returns plugin file path.

Parameters
factoryTransport plugin factory.

◆ hasMetaData()

bool hasMetaData ( ) const

Returns true when new metadata has received, otherwise returns false.

◆ hasStreamInfo()

bool hasStreamInfo ( ) const

Returns true when stream information has received, otherwise returns false.

◆ initialize()

virtual bool initialize ( )
pure virtual

Prepares input data source for usage. Subclass shoud reimplement this function.

◆ ioDevice()

virtual QIODevice* ioDevice ( )
pure virtual

Returns QIODevice-based object for I/O operations. Subclass shoud reimplement this function.

◆ isEnabled()

static bool isEnabled ( InputSourceFactory factory)
static

Returns true if input plugin is enabled, otherwise returns false

Parameters
factoryDecoder plugin factory.

◆ isReady()

virtual bool isReady ( )
pure virtual

Returns true if transport is ready for usage; otherwise returns false.

◆ isWaiting()

virtual bool isWaiting ( )
virtual

Returns true if the transport is waiting more data; otherwise returns false. Reader should wait until this function returns false. Default implementation allways returns false.

◆ offset()

qint64 offset ( ) const

Returns start position in ms;

◆ path()

const QString path ( ) const

Returns input source path or url.

◆ protocols()

static QStringList protocols ( )
static

Returns a list of supported protocols.

◆ ready

void ready ( )
signal

This signal is emitted when transport is ready for usage.

◆ setEnabled()

static void setEnabled ( InputSourceFactory factory,
bool  enable = true 
)
static

Sets whether the input plugin is enabled.

Parameters
factoryTransport plugin factory.
enablePlugin enable state (true - enable, false - disable)

◆ setOffset()

void setOffset ( qint64  offset)

Sets start position to offset ms.

◆ takeMetaData()

QMap<Qmmp::MetaData, QString> takeMetaData ( )

Takes metadata out of InputSource object and returns it. Attention: hasMetaData() should return true before use of this fuction.

◆ takeStreamInfo()

QHash<QString, QString> takeStreamInfo ( )

Takes stream information out of InputSource object and returns it. Attention: hasStreamInfo() should return true before use of this fuction.


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