diff options
author | Lars Knoll <lars.knoll@qt.io> | 2022-03-14 10:53:32 +0100 |
---|---|---|
committer | Pekka Gehör <pekka.gehor@qt.io> | 2022-05-24 08:33:16 +0000 |
commit | 04ec0d70095bd1281c7b7a7cac6c81c1ac9f07b8 (patch) | |
tree | 33b3b9912a9beef74a0af0ced0db52c348cdd9db | |
parent | 9be9b97d80d5d19325a6cb753438a93a49bdc7ac (diff) |
Fix qaudiosource auto test when using pulseaudio
Change-Id: I538ab32837061157a9e259674d97fa6ddca4d4c6
(cherry picked from commit 8f5effb83a1a4690e42bee32cbc918a5c405fdd8)
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
-rw-r--r-- | src/multimedia/platform/pulseaudio/qpulseaudiosource.cpp | 14 | ||||
-rw-r--r-- | tests/auto/integration/qaudiosource/tst_qaudiosource.cpp | 4 |
2 files changed, 13 insertions, 5 deletions
diff --git a/src/multimedia/platform/pulseaudio/qpulseaudiosource.cpp b/src/multimedia/platform/pulseaudio/qpulseaudiosource.cpp index d20929078..8aaaba550 100644 --- a/src/multimedia/platform/pulseaudio/qpulseaudiosource.cpp +++ b/src/multimedia/platform/pulseaudio/qpulseaudiosource.cpp @@ -327,6 +327,12 @@ bool QPulseAudioSource::open() return false; } +// auto *ss = pa_stream_get_sample_spec(m_stream); +// qDebug() << "connected stream:"; +// qDebug() << " channels" << ss->channels << spec.channels; +// qDebug() << " format" << ss->format << spec.format; +// qDebug() << " rate" << ss->rate << spec.rate; + while (pa_stream_get_state(m_stream) != PA_STREAM_READY) pa_threaded_mainloop_wait(pulseEngine->mainloop()); @@ -403,7 +409,8 @@ qint64 QPulseAudioSource::read(char *data, qint64 len) m_bytesAvailable = checkBytesReady(); setError(QAudio::NoError); - setState(QAudio::ActiveState); + if (state() == QAudio::IdleState) + setState(QAudio::ActiveState); int readBytes = 0; @@ -549,8 +556,9 @@ qint64 QPulseAudioSource::processedUSecs() const { pa_usec_t usecs = 0; int result = pa_stream_get_time(m_stream, &usecs); - if (result != 0) - qWarning() << "no timing info from pulse"; + Q_UNUSED(result); +// if (result != 0) +// qWarning() << "no timing info from pulse"; return usecs; } diff --git a/tests/auto/integration/qaudiosource/tst_qaudiosource.cpp b/tests/auto/integration/qaudiosource/tst_qaudiosource.cpp index e966498de..db17a500d 100644 --- a/tests/auto/integration/qaudiosource/tst_qaudiosource.cpp +++ b/tests/auto/integration/qaudiosource/tst_qaudiosource.cpp @@ -509,7 +509,7 @@ void tst_QAudioSource::push() QCOMPARE(waveDecoder.size(), QWaveDecoder::headerLength()); // Set a large buffer to avoid underruns during QTest::qWaits - audioInput.setBufferSize(audioFormat.bytesForDuration(1000000)); + audioInput.setBufferSize(audioFormat.bytesForDuration(100000)); QIODevice* feed = audioInput.start(); @@ -572,7 +572,7 @@ void tst_QAudioSource::pushSuspendResume() QFETCH(QAudioFormat, audioFormat); QAudioSource audioInput(audioFormat, this); - audioInput.setBufferSize(audioFormat.bytesForDuration(1000000)); + audioInput.setBufferSize(audioFormat.bytesForDuration(100000)); QSignalSpy stateSignal(&audioInput, SIGNAL(stateChanged(QAudio::State))); |