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) {