summaryrefslogtreecommitdiffstats
path: root/src/multimedia
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-07-16 03:04:23 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-07-16 03:04:23 +0200
commitf93818a2d1b59f240d73d47c0771284a01c5a87a (patch)
tree6fd00c5cc077a46e635aabe68dc77065893aab71 /src/multimedia
parent10c080521c525e1729b23dfa0afd08a1428f40d0 (diff)
parentd035d4de3770427396bd4e6a7db9b6c7161e2abf (diff)
Merge remote-tracking branch 'origin/5.13' into dev
Diffstat (limited to 'src/multimedia')
-rw-r--r--src/multimedia/audio/qsamplecache_p.cpp12
-rw-r--r--src/multimedia/doc/qtmultimedia.qdocconf1
2 files changed, 9 insertions, 4 deletions
diff --git a/src/multimedia/audio/qsamplecache_p.cpp b/src/multimedia/audio/qsamplecache_p.cpp
index 945fabe52..35234f8bb 100644
--- a/src/multimedia/audio/qsamplecache_p.cpp
+++ b/src/multimedia/audio/qsamplecache_p.cpp
@@ -295,9 +295,12 @@ void QSample::loadIfNecessary()
}
}
-// Called in both threads
+// Called in application thread
bool QSampleCache::notifyUnreferencedSample(QSample* sample)
{
+ if (m_loadingThread.isRunning())
+ m_loadingThread.wait();
+
QMutexLocker locker(&m_mutex);
if (m_capacity > 0)
return false;
@@ -306,16 +309,17 @@ bool QSampleCache::notifyUnreferencedSample(QSample* sample)
return true;
}
-// Called in application threadd
+// Called in application thread
void QSample::release()
{
QMutexLocker locker(&m_mutex);
#ifdef QT_SAMPLECACHE_DEBUG
qDebug() << "Sample:: release" << this << QThread::currentThread() << m_ref;
#endif
- m_ref--;
- if (m_ref == 0)
+ if (--m_ref == 0) {
+ locker.unlock();
m_parent->notifyUnreferencedSample(this);
+ }
}
// Called in dtor and when stream is loaded
diff --git a/src/multimedia/doc/qtmultimedia.qdocconf b/src/multimedia/doc/qtmultimedia.qdocconf
index 256ad261e..dfafd8715 100644
--- a/src/multimedia/doc/qtmultimedia.qdocconf
+++ b/src/multimedia/doc/qtmultimedia.qdocconf
@@ -1,4 +1,5 @@
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
+include($QT_INSTALL_DOCS/config/exampleurl-qtmultimedia.qdocconf)
project = QtMultimedia
description = Qt Multimedia Documentation