src/platform/qt/AudioDevice.h (view raw)
1#ifndef QGBA_AUDIO_DEVICE
2#define QGBA_AUDIO_DEVICE
3#include <QAudioFormat>
4#include <QIODevice>
5
6struct GBAThread;
7
8namespace QGBA {
9
10class AudioDevice : public QIODevice {
11Q_OBJECT
12
13public:
14 AudioDevice(QObject* parent = nullptr);
15
16 void setInput(GBAThread* input);
17 void setFormat(const QAudioFormat& format);
18
19protected:
20 virtual qint64 readData(char* data, qint64 maxSize) override;
21 virtual qint64 writeData(const char* data, qint64 maxSize) override;
22
23private:
24 GBAThread* m_context;
25 float m_drift;
26 float m_ratio;
27};
28
29}
30
31#endif