diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-07-16 03:04:23 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-07-16 03:04:23 +0200 |
commit | f93818a2d1b59f240d73d47c0771284a01c5a87a (patch) | |
tree | 6fd00c5cc077a46e635aabe68dc77065893aab71 /src/multimedia | |
parent | 10c080521c525e1729b23dfa0afd08a1428f40d0 (diff) | |
parent | d035d4de3770427396bd4e6a7db9b6c7161e2abf (diff) |
Merge remote-tracking branch 'origin/5.13' into dev
Change-Id: I7ca7fb6143ec296c16a37a7be236470dbd1742a7
Diffstat (limited to 'src/multimedia')
-rw-r--r-- | src/multimedia/audio/qsamplecache_p.cpp | 12 | ||||
-rw-r--r-- | src/multimedia/doc/qtmultimedia.qdocconf | 1 |
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 |