21 #ifndef QMMPAUDIOENGINE_P_H
22 #define QMMPAUDIOENGINE_P_H
27 #include <QSharedPointer>
55 virtual bool play()
override final;
57 virtual void seek(qint64 time)
override final;
58 virtual void stop()
override final;
59 virtual void pause()
override final;
68 void updateReplayGainSettings();
69 void updateAudioSettings();
70 void updateEqSettings();
73 virtual void run()
override final;
76 void flush(
bool =
false);
78 qint64 produceSound(
unsigned char *data, qint64
size, quint32 brate);
81 void prepareEffects(
Decoder *d);
89 uint m_bks = 0, m_sample_size = 0;
90 qint64 m_seekTime = -1;
91 quint64 m_output_at = 0, m_output_size = 0;
93 unsigned char *m_output_buf =
nullptr;
The AbstractEngine class provides the internal audio converter.
The QmmpSettings class provides access to global settings.
virtual void seek(qint64 time)=0
The Effect class provides the base interface class of audio effects.
The AudioParameters class keeps information about audio settings.
The StateHandler class allows one to track information about playback progress.
Effect plugin interface (effect factory).
QHash< Decoder *, InputSource * > m_inputs
Input plugin interface (decoder factory).
QList< Effect * > m_blockedEffects
The Decoder class provides the base interface class of audio decoders.
QList< Effect * > m_effects
static QmmpAudioEngine * m_instance
The AbstractEngine class provides the base interface class of audio audio engines.
QQueue< Decoder * > m_decoders
std::atomic_bool m_user_stop
virtual bool enqueue(InputSource *source)=0
QSharedPointer< TrackInfo > m_trackInfo