From f3526fd7af8b9ca7e2929c21e5bd364fad0eaa3e Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Thu, 20 May 2021 10:42:53 +0200 Subject: QSampleCache: Don't start the loader thread unless we need to MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Starting the loader thread was causing some instability in the auto test for QSampleCache and leads to doing unnecessary work if the sample is already loaded. Change-Id: I31fef1b0e7348f0397999be113f8516e8985ade3 Reviewed-by: Doris Verria Reviewed-by: André de la Rocha Reviewed-by: Lars Knoll --- src/multimedia/audio/qsamplecache_p.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/multimedia') diff --git a/src/multimedia/audio/qsamplecache_p.cpp b/src/multimedia/audio/qsamplecache_p.cpp index 3c5df717d..6c4163080 100644 --- a/src/multimedia/audio/qsamplecache_p.cpp +++ b/src/multimedia/audio/qsamplecache_p.cpp @@ -169,14 +169,13 @@ QSample* QSampleCache::requestSample(const QUrl& url) m_loadingRefCount++; m_loadingMutex.unlock(); - if (!m_loadingThread.isRunning()) - m_loadingThread.start(); - qCDebug(qLcSampleCache) << "QSampleCache: request sample [" << url << "]"; std::unique_lock locker(m_mutex); QMap::iterator it = m_samples.find(url); QSample* sample; if (it == m_samples.end()) { + if (!m_loadingThread.isRunning()) + m_loadingThread.start(); sample = new QSample(url, this); m_samples.insert(url, sample); sample->moveToThread(&m_loadingThread); -- cgit v1.2.3