Mercurial > hg > svcore
diff data/fileio/CodedAudioFileReader.cpp @ 1858:14747f24ad04
Use cancellable serialiser; add some more profiling points
author | Chris Cannam |
---|---|
date | Thu, 14 May 2020 16:36:48 +0100 |
parents | 70e172e6cc59 |
children |
line wrap: on
line diff
--- a/data/fileio/CodedAudioFileReader.cpp Thu May 14 16:35:39 2020 +0100 +++ b/data/fileio/CodedAudioFileReader.cpp Thu May 14 16:36:48 2020 +0100 @@ -105,18 +105,19 @@ } void -CodedAudioFileReader::startSerialised(QString id) +CodedAudioFileReader::startSerialised(QString id, + const std::atomic<bool> *cancelled) { - SVDEBUG << "CodedAudioFileReader(" << this << ")::startSerialised: id = " << id << endl; - +// SVCERR << "CodedAudioFileReader(" << this << ")::startSerialised: id = " << id << endl; + delete m_serialiser; - m_serialiser = new Serialiser(id); + m_serialiser = new Serialiser(id, cancelled); } void CodedAudioFileReader::endSerialised() { - SVDEBUG << "CodedAudioFileReader(" << this << ")::endSerialised: id = " << (m_serialiser ? m_serialiser->getId() : "(none)") << endl; +// SVCERR << "CodedAudioFileReader(" << this << ")::endSerialised: id = " << (m_serialiser ? m_serialiser->getId() : "(none)") << endl; delete m_serialiser; m_serialiser = nullptr; @@ -548,6 +549,8 @@ floatvec_t CodedAudioFileReader::getInterleavedFrames(sv_frame_t start, sv_frame_t count) const { + Profiler profiler("CodedAudioFileReader::getInterleavedFrames"); + // Lock is only required in CacheInMemory mode (the cache file // reader is expected to be thread safe and manage its own // locking)