summaryrefslogtreecommitdiffstats
path: root/src/multimedia
diff options
context:
space:
mode:
authorLev Zelenskiy <lev.zelenskiy@nokia.com>2012-04-26 16:51:54 +1000
committerQt by Nokia <qt-info@nokia.com>2012-04-27 05:05:38 +0200
commit4d1579d37b104670766582177c8520138f31465b (patch)
tree88aefc27eafdc91e1ecdf679c4df5f9627d39706 /src/multimedia
parentd6cba7851675b36c453b73da2069a34bc9184340 (diff)
QSampleCache: Add a method to check whether a sample is cached.
At the moment there is no way to tell whether a sample returned by QSampleCache comes from cache. This functionality is required for a unit test. Change-Id: Ice23bb39b8e4f0a58b9297b46bb19b9a8c34b53c Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Diffstat (limited to 'src/multimedia')
-rw-r--r--src/multimedia/audio/qsamplecache_p.cpp6
-rw-r--r--src/multimedia/audio/qsamplecache_p.h3
2 files changed, 8 insertions, 1 deletions
diff --git a/src/multimedia/audio/qsamplecache_p.cpp b/src/multimedia/audio/qsamplecache_p.cpp
index 0ae070a19..68126edef 100644
--- a/src/multimedia/audio/qsamplecache_p.cpp
+++ b/src/multimedia/audio/qsamplecache_p.cpp
@@ -147,6 +147,12 @@ bool QSampleCache::isLoading() const
return m_loadingThread.isRunning();
}
+bool QSampleCache::isCached(const QUrl &url) const
+{
+ QMutexLocker locker(&m_mutex);
+ return m_samples.contains(url);
+}
+
QSample* QSampleCache::requestSample(const QUrl& url)
{
//lock and add first to make sure live loadingThread will not be killed during this function call
diff --git a/src/multimedia/audio/qsamplecache_p.h b/src/multimedia/audio/qsamplecache_p.h
index 0c1bc5e7e..a5eb281b7 100644
--- a/src/multimedia/audio/qsamplecache_p.h
+++ b/src/multimedia/audio/qsamplecache_p.h
@@ -140,6 +140,7 @@ public:
void setCapacity(qint64 capacity);
bool isLoading() const;
+ bool isCached(const QUrl& url) const;
Q_SIGNALS:
void isLoadingChanged();
@@ -148,7 +149,7 @@ private:
QMap<QUrl, QSample*> m_samples;
QSet<QSample*> m_staleSamples;
QNetworkAccessManager *m_networkAccessManager;
- QMutex m_mutex;
+ mutable QMutex m_mutex;
qint64 m_capacity;
qint64 m_usage;
QThread m_loadingThread;