summaryrefslogtreecommitdiffstats
path: root/examples/multimedia/audiooutput
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-01-08 15:55:12 +0100
committerLars Knoll <lars.knoll@qt.io>2021-01-22 07:01:44 +0000
commitd33f433d1d126abc1c9d9e95fb0b7958ec095589 (patch)
treed933728ba0fb41dabfa50a8b2a90d39175da1165 /examples/multimedia/audiooutput
parent494663fd09b4bd0d7053bc0da9bd02234d5a1c95 (diff)
Smaller fixes to the audiooutput example
Change-Id: I13b55a16c131d7f18728212f4024a81c733b09b4 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'examples/multimedia/audiooutput')
-rw-r--r--examples/multimedia/audiooutput/audiooutput.cpp23
-rw-r--r--examples/multimedia/audiooutput/audiooutput.h1
2 files changed, 9 insertions, 15 deletions
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 <qmath.h>
#include <qendian.h>
-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);