10 #include <QStringList> 15 #include "audioparameters.h" 16 #include "channelmap.h" 18 class QmmpPluginCache;
32 Decoder(QIODevice *input =
nullptr);
41 virtual bool initialize() = 0;
46 virtual qint64 totalTime()
const = 0;
51 virtual void seek(qint64 time) = 0;
57 virtual qint64 read(
unsigned char *data, qint64 maxSize) = 0;
62 virtual int bitrate()
const = 0;
75 virtual const QString nextURL()
const;
83 QMap<Qmmp::ReplayGainKey, double> replayGainInfo()
const;
88 void setReplayGainInfo(
const QMap<Qmmp::ReplayGainKey,double> &rg);
98 void addMetaData(
const QMap<Qmmp::MetaData, QString> &metaData);
102 bool hasMetaData()
const;
107 QMap<Qmmp::MetaData, QString> takeMetaData();
118 void setProperties(
const QMap<Qmmp::TrackProperty, QString> &properties);
122 const QMap<Qmmp::TrackProperty, QString> &properties()
const;
128 static DecoderFactory *findByFilePath(
const QString &path,
bool useContent =
false);
146 static QList<DecoderFactory *> findByFileExtension(
const QString &path);
150 static QList<DecoderFactory*> factories();
154 static QList<DecoderFactory*> enabledFactories();
164 static QStringList protocols();
170 static void setEnabled(
DecoderFactory *factory,
bool enable =
true);
199 static void loadPlugins();
200 static QList<QmmpPluginCache*> *m_cache;
201 static QStringList m_disabledNames;
203 QMap<Qmmp::TrackProperty, QString> m_properties;
206 QMap<Qmmp::MetaData, QString> m_metaData;
207 QMap <Qmmp::ReplayGainKey, double> m_rg;
The AudioParameters class keeps information about audio settings.
Definition: audioparameters.h:31
Input plugin interface (decoder factory).
Definition: decoderfactory.h:53
The Decoder class provides the base interface class of audio decoders.
Definition: decoder.h:25
AudioFormat
Definition: qmmp.h:114
TrackProperty
Definition: qmmp.h:90