framehashcache: use static const string rather than function
Should be mildly faster
This commit is contained in:
@@ -39,9 +39,12 @@ namespace olive {
|
||||
|
||||
QMutex FrameHashCache::currently_saving_frames_mutex_;
|
||||
QMap<QByteArray, FramePtr> FrameHashCache::currently_saving_frames_;
|
||||
const QString FrameHashCache::kCacheFormatExtension = QStringLiteral(".exr");
|
||||
|
||||
#define super PlaybackCache
|
||||
|
||||
FrameHashCache::FrameHashCache(QObject *parent) :
|
||||
PlaybackCache(parent)
|
||||
super(parent)
|
||||
{
|
||||
if (DiskManager::instance()) {
|
||||
connect(DiskManager::instance(), &DiskManager::DeletedFrame, this, &FrameHashCache::HashDeleted);
|
||||
@@ -419,11 +422,9 @@ QString FrameHashCache::CachePathName(const QByteArray& hash) const
|
||||
|
||||
QString FrameHashCache::CachePathName(const QString &cache_path, const QByteArray &hash)
|
||||
{
|
||||
QString ext = GetFormatExtension();
|
||||
|
||||
QDir cache_dir(QDir(cache_path).filePath(QString(hash.left(1).toHex())));
|
||||
|
||||
QString filename = QStringLiteral("%1%2").arg(QString(hash.mid(1).toHex()), ext);
|
||||
QString filename = QStringLiteral("%1%2").arg(QString(hash.mid(1).toHex()), kCacheFormatExtension);
|
||||
|
||||
// Register that in some way this hash has been accessed
|
||||
QMetaObject::invokeMethod(DiskManager::instance(),
|
||||
|
||||
@@ -70,8 +70,6 @@ public:
|
||||
FramePtr LoadCacheFrame(const QByteArray& hash) const;
|
||||
static FramePtr LoadCacheFrame(const QString& fn);
|
||||
|
||||
static QString GetFormatExtension();
|
||||
|
||||
static QVector<rational> GetFrameListFromTimeRange(TimeRangeList range_list, const rational& timebase);
|
||||
QVector<rational> GetFrameListFromTimeRange(const TimeRangeList &range);
|
||||
QVector<rational> GetInvalidatedFrames();
|
||||
@@ -94,6 +92,7 @@ private:
|
||||
|
||||
static QMutex currently_saving_frames_mutex_;
|
||||
static QMap<QByteArray, FramePtr> currently_saving_frames_;
|
||||
static const QString kCacheFormatExtension;
|
||||
|
||||
private slots:
|
||||
void HashDeleted(const QString &s, const QByteArray& hash);
|
||||
|
||||
Reference in New Issue
Block a user