27class QWasmAudioSink :
public QPlatformAudioSink
31 ALData *aldata =
nullptr;
32 QTimer *m_timer =
nullptr;
33 QIODevice *m_device =
nullptr;
34 bool m_running =
false;
35 QAudio::State m_state = QAudio::StoppedState;
36 QAudio::State m_suspendedInState = QAudio::SuspendedState;
38 quint64 m_processed = 0;
39 QElapsedTimer m_elapsedTimer;
40 int m_bufferFragmentsCount = 10;
41 int m_notifyInterval = 0;
42 char *m_tmpData =
nullptr;
43 int m_bufferFragmentSize = 0;
44 int m_lastNotified = 0;
45 int m_tmpDataOffset = 0;
46 int m_bufferFragmentsBusyCount = 0;
50 void unloadALBuffers();
57 QWasmAudioSink(QAudioDevice,
const QAudioFormat &, QObject *parent);
61 void start(QIODevice *device) override;
62 QIODevice *start() override;
63 void start(
bool mode);
65 void reset() override;
66 void suspend() override;
67 void resume() override;
68 qsizetype bytesFree()
const override;
69 void setBufferSize(qsizetype value) override;
70 qsizetype bufferSize()
const override;
71 qint64 processedUSecs()
const override;
72 QAudio::State state()
const override;
73 void setVolume(
float volume) override;
74 void setError(QAudio::Error) override;
76 friend class QWasmAudioSinkDevice;