From d33f433d1d126abc1c9d9e95fb0b7958ec095589 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Fri, 8 Jan 2021 15:55:12 +0100 Subject: Smaller fixes to the audiooutput example Change-Id: I13b55a16c131d7f18728212f4024a81c733b09b4 Reviewed-by: Doris Verria Reviewed-by: Lars Knoll --- examples/multimedia/audiooutput/audiooutput.cpp | 23 ++++++++--------------- examples/multimedia/audiooutput/audiooutput.h | 1 + 2 files changed, 9 insertions(+), 15 deletions(-) (limited to 'examples/multimedia/audiooutput') diff --git a/examples/multimedia/audiooutput/audiooutput.cpp b/examples/multimedia/audiooutput/audiooutput.cpp index b1deab124..e369049ce 100644 --- a/examples/multimedia/audiooutput/audiooutput.cpp +++ b/examples/multimedia/audiooutput/audiooutput.cpp @@ -57,9 +57,7 @@ #include #include -Generator::Generator(const QAudioFormat &format - , qint64 durationUs - , int sampleRate) +Generator::Generator(const QAudioFormat &format, qint64 durationUs, int sampleRate) { if (format.isValid()) generateData(format, durationUs, sampleRate); @@ -268,19 +266,14 @@ void AudioTest::toggleMode() if (m_audioOutput->state() == QAudio::StoppedState) return; - QByteArray buffer(32768, 0); - int chunks = m_audioOutput->bytesFree() / m_audioOutput->periodSize(); - while (chunks) { - const qint64 len = m_generator->read(buffer.data(), m_audioOutput->periodSize()); - if (len) - io->write(buffer.data(), len); - if (len != m_audioOutput->periodSize()) - break; - --chunks; - } + int len = m_audioOutput->bytesFree(); + QByteArray buffer(len, 0); + len = m_generator->read(buffer.data(), len); + if (len) + io->write(buffer.data(), len); }); - m_pushTimer->start(20); + m_pushTimer->start(10); } m_pullMode = !m_pullMode; @@ -290,7 +283,7 @@ void AudioTest::toggleSuspendResume() { if (m_audioOutput->state() == QAudio::SuspendedState || m_audioOutput->state() == QAudio::StoppedState) { m_audioOutput->resume(); - m_suspendResumeButton->setText(tr("Suspend recording")); + m_suspendResumeButton->setText(tr("Suspend playback")); } else if (m_audioOutput->state() == QAudio::ActiveState) { m_audioOutput->suspend(); m_suspendResumeButton->setText(tr("Resume playback")); diff --git a/examples/multimedia/audiooutput/audiooutput.h b/examples/multimedia/audiooutput/audiooutput.h index c17f47727..fc288481e 100644 --- a/examples/multimedia/audiooutput/audiooutput.h +++ b/examples/multimedia/audiooutput/audiooutput.h @@ -78,6 +78,7 @@ public: qint64 readData(char *data, qint64 maxlen) override; qint64 writeData(const char *data, qint64 len) override; qint64 bytesAvailable() const override; + qint64 size() const override { return m_buffer.size(); } private: void generateData(const QAudioFormat &format, qint64 durationUs, int sampleRate); -- cgit v1.2.3