From 054281596eb3528b38741a825812888c2706bc4c Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Thu, 20 Feb 2020 17:48:28 +1100 Subject: [PATCH] videorenderer: use qmutexlocker in more cases Minor code cleanup. --- app/render/backend/videorenderbackend.cpp | 4 --- app/render/backend/videorenderbackend.h | 2 +- app/render/backend/videorenderframecache.cpp | 30 ++++++++------------ 3 files changed, 13 insertions(+), 23 deletions(-) diff --git a/app/render/backend/videorenderbackend.cpp b/app/render/backend/videorenderbackend.cpp index 1738f6e1b..23331e808 100644 --- a/app/render/backend/videorenderbackend.cpp +++ b/app/render/backend/videorenderbackend.cpp @@ -151,10 +151,6 @@ void VideoRenderBackend::InvalidateCacheInternal(const rational &start_range, co Requeue(); } -void VideoRenderBackend::ParamsChangedEvent() -{ -} - VideoRenderFrameCache *VideoRenderBackend::frame_cache() { return &frame_cache_; diff --git a/app/render/backend/videorenderbackend.h b/app/render/backend/videorenderbackend.h index 69ace2976..ada89920c 100644 --- a/app/render/backend/videorenderbackend.h +++ b/app/render/backend/videorenderbackend.h @@ -93,7 +93,7 @@ protected: virtual void InvalidateCacheInternal(const rational &start_range, const rational &end_range) override; - virtual void ParamsChangedEvent(); + virtual void ParamsChangedEvent(){} VideoRenderWorker::OperatingMode operating_mode_; diff --git a/app/render/backend/videorenderframecache.cpp b/app/render/backend/videorenderframecache.cpp index 36eb9109a..3712847b3 100644 --- a/app/render/backend/videorenderframecache.cpp +++ b/app/render/backend/videorenderframecache.cpp @@ -14,9 +14,10 @@ void VideoRenderFrameCache::Clear() { time_hash_map_.clear(); - currently_caching_lock_.lock(); - currently_caching_list_.clear(); - currently_caching_lock_.unlock(); + { + QMutexLocker locker(¤tly_caching_lock_); + currently_caching_list_.clear(); + } cache_id_.clear(); } @@ -28,28 +29,21 @@ bool VideoRenderFrameCache::HasHash(const QByteArray &hash, const PixelFormat::F bool VideoRenderFrameCache::IsCaching(const QByteArray &hash) { - currently_caching_lock_.lock(); + QMutexLocker locker(¤tly_caching_lock_); - bool is_caching = currently_caching_list_.contains(hash); - - currently_caching_lock_.unlock(); - - return is_caching; + return currently_caching_list_.contains(hash); } bool VideoRenderFrameCache::TryCache(const QByteArray &hash) { - currently_caching_lock_.lock(); + QMutexLocker locker(¤tly_caching_lock_); - bool is_caching = currently_caching_list_.contains(hash); - - if (!is_caching) { + if (!currently_caching_list_.contains(hash)) { currently_caching_list_.append(hash); + return true; } - currently_caching_lock_.unlock(); - - return !is_caching; + return false; } void VideoRenderFrameCache::SetCacheID(const QString &id) @@ -84,9 +78,9 @@ void VideoRenderFrameCache::Truncate(const rational &time) void VideoRenderFrameCache::RemoveHashFromCurrentlyCaching(const QByteArray &hash) { - currently_caching_lock_.lock(); + QMutexLocker locker(¤tly_caching_lock_); + currently_caching_list_.removeOne(hash); - currently_caching_lock_.unlock(); } QList VideoRenderFrameCache::FramesWithHash(const QByteArray &hash)