summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2022-03-14 10:53:32 +0100
committerPekka Gehör <pekka.gehor@qt.io>2022-05-24 08:33:16 +0000
commit04ec0d70095bd1281c7b7a7cac6c81c1ac9f07b8 (patch)
tree33b3b9912a9beef74a0af0ced0db52c348cdd9db
parent9be9b97d80d5d19325a6cb753438a93a49bdc7ac (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.cpp14
-rw-r--r--tests/auto/integration/qaudiosource/tst_qaudiosource.cpp4
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)));