Mercurial > hg > svcore
comparison 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 |
comparison
equal
deleted
inserted
replaced
1857:14c776dad920 | 1858:14747f24ad04 |
---|---|
103 m_trimFromStart = fromStart; | 103 m_trimFromStart = fromStart; |
104 m_trimFromEnd = fromEnd; | 104 m_trimFromEnd = fromEnd; |
105 } | 105 } |
106 | 106 |
107 void | 107 void |
108 CodedAudioFileReader::startSerialised(QString id) | 108 CodedAudioFileReader::startSerialised(QString id, |
109 { | 109 const std::atomic<bool> *cancelled) |
110 SVDEBUG << "CodedAudioFileReader(" << this << ")::startSerialised: id = " << id << endl; | 110 { |
111 | 111 // SVCERR << "CodedAudioFileReader(" << this << ")::startSerialised: id = " << id << endl; |
112 | |
112 delete m_serialiser; | 113 delete m_serialiser; |
113 m_serialiser = new Serialiser(id); | 114 m_serialiser = new Serialiser(id, cancelled); |
114 } | 115 } |
115 | 116 |
116 void | 117 void |
117 CodedAudioFileReader::endSerialised() | 118 CodedAudioFileReader::endSerialised() |
118 { | 119 { |
119 SVDEBUG << "CodedAudioFileReader(" << this << ")::endSerialised: id = " << (m_serialiser ? m_serialiser->getId() : "(none)") << endl; | 120 // SVCERR << "CodedAudioFileReader(" << this << ")::endSerialised: id = " << (m_serialiser ? m_serialiser->getId() : "(none)") << endl; |
120 | 121 |
121 delete m_serialiser; | 122 delete m_serialiser; |
122 m_serialiser = nullptr; | 123 m_serialiser = nullptr; |
123 } | 124 } |
124 | 125 |
546 } | 547 } |
547 | 548 |
548 floatvec_t | 549 floatvec_t |
549 CodedAudioFileReader::getInterleavedFrames(sv_frame_t start, sv_frame_t count) const | 550 CodedAudioFileReader::getInterleavedFrames(sv_frame_t start, sv_frame_t count) const |
550 { | 551 { |
552 Profiler profiler("CodedAudioFileReader::getInterleavedFrames"); | |
553 | |
551 // Lock is only required in CacheInMemory mode (the cache file | 554 // Lock is only required in CacheInMemory mode (the cache file |
552 // reader is expected to be thread safe and manage its own | 555 // reader is expected to be thread safe and manage its own |
553 // locking) | 556 // locking) |
554 | 557 |
555 if (!m_initialised) { | 558 if (!m_initialised) { |