Mercurial > hg > svcore
comparison data/fileio/CodedAudioFileReader.cpp @ 1599:ce185d4dd408 bqaudiostream
Merge from default branch
author | Chris Cannam |
---|---|
date | Wed, 23 Jan 2019 14:43:43 +0000 |
parents | 70e172e6cc59 |
children | 14747f24ad04 |
comparison
equal
deleted
inserted
replaced
1598:d2555df635ec | 1599:ce185d4dd408 |
---|---|
34 CodedAudioFileReader::CodedAudioFileReader(CacheMode cacheMode, | 34 CodedAudioFileReader::CodedAudioFileReader(CacheMode cacheMode, |
35 sv_samplerate_t targetRate, | 35 sv_samplerate_t targetRate, |
36 bool normalised) : | 36 bool normalised) : |
37 m_cacheMode(cacheMode), | 37 m_cacheMode(cacheMode), |
38 m_initialised(false), | 38 m_initialised(false), |
39 m_serialiser(0), | 39 m_serialiser(nullptr), |
40 m_fileRate(0), | 40 m_fileRate(0), |
41 m_cacheFileWritePtr(0), | 41 m_cacheFileWritePtr(nullptr), |
42 m_cacheFileReader(0), | 42 m_cacheFileReader(nullptr), |
43 m_cacheWriteBuffer(0), | 43 m_cacheWriteBuffer(nullptr), |
44 m_cacheWriteBufferIndex(0), | 44 m_cacheWriteBufferIndex(0), |
45 m_cacheWriteBufferFrames(65536), | 45 m_cacheWriteBufferFrames(65536), |
46 m_resampler(0), | 46 m_resampler(nullptr), |
47 m_resampleBuffer(0), | 47 m_resampleBuffer(nullptr), |
48 m_resampleBufferFrames(0), | 48 m_resampleBufferFrames(0), |
49 m_fileFrameCount(0), | 49 m_fileFrameCount(0), |
50 m_normalised(normalised), | 50 m_normalised(normalised), |
51 m_max(0.f), | 51 m_max(0.f), |
52 m_gain(1.f), | 52 m_gain(1.f), |
117 CodedAudioFileReader::endSerialised() | 117 CodedAudioFileReader::endSerialised() |
118 { | 118 { |
119 SVDEBUG << "CodedAudioFileReader(" << this << ")::endSerialised: id = " << (m_serialiser ? m_serialiser->getId() : "(none)") << endl; | 119 SVDEBUG << "CodedAudioFileReader(" << this << ")::endSerialised: id = " << (m_serialiser ? m_serialiser->getId() : "(none)") << endl; |
120 | 120 |
121 delete m_serialiser; | 121 delete m_serialiser; |
122 m_serialiser = 0; | 122 m_serialiser = nullptr; |
123 } | 123 } |
124 | 124 |
125 void | 125 void |
126 CodedAudioFileReader::initialiseDecodeCache() | 126 CodedAudioFileReader::initialiseDecodeCache() |
127 { | 127 { |
216 m_cacheFileReader = new WavFileReader(m_cacheFileName); | 216 m_cacheFileReader = new WavFileReader(m_cacheFileName); |
217 | 217 |
218 if (!m_cacheFileReader->isOK()) { | 218 if (!m_cacheFileReader->isOK()) { |
219 SVDEBUG << "ERROR: CodedAudioFileReader::initialiseDecodeCache: Failed to construct WAV file reader for temporary file: " << m_cacheFileReader->getError() << endl; | 219 SVDEBUG << "ERROR: CodedAudioFileReader::initialiseDecodeCache: Failed to construct WAV file reader for temporary file: " << m_cacheFileReader->getError() << endl; |
220 delete m_cacheFileReader; | 220 delete m_cacheFileReader; |
221 m_cacheFileReader = 0; | 221 m_cacheFileReader = nullptr; |
222 m_cacheMode = CacheInMemory; | 222 m_cacheMode = CacheInMemory; |
223 sf_close(m_cacheFileWritePtr); | 223 sf_close(m_cacheFileWritePtr); |
224 } | 224 } |
225 | 225 |
226 } else { | 226 } else { |
329 } | 329 } |
330 | 330 |
331 pushCacheWriteBufferMaybe(true); | 331 pushCacheWriteBufferMaybe(true); |
332 | 332 |
333 delete[] m_cacheWriteBuffer; | 333 delete[] m_cacheWriteBuffer; |
334 m_cacheWriteBuffer = 0; | 334 m_cacheWriteBuffer = nullptr; |
335 | 335 |
336 delete[] m_resampleBuffer; | 336 delete[] m_resampleBuffer; |
337 m_resampleBuffer = 0; | 337 m_resampleBuffer = nullptr; |
338 | 338 |
339 delete m_resampler; | 339 delete m_resampler; |
340 m_resampler = 0; | 340 m_resampler = nullptr; |
341 | 341 |
342 if (m_cacheMode == CacheInTemporaryFile) { | 342 if (m_cacheMode == CacheInTemporaryFile) { |
343 | 343 |
344 sf_close(m_cacheFileWritePtr); | 344 sf_close(m_cacheFileWritePtr); |
345 m_cacheFileWritePtr = 0; | 345 m_cacheFileWritePtr = nullptr; |
346 if (m_cacheFileReader) m_cacheFileReader->updateFrameCount(); | 346 if (m_cacheFileReader) m_cacheFileReader->updateFrameCount(); |
347 | 347 |
348 } else { | 348 } else { |
349 // I know, I know, we already allocated it... | 349 // I know, I know, we already allocated it... |
350 StorageAdviser::notifyPlannedAllocation | 350 StorageAdviser::notifyPlannedAllocation |
469 switch (m_cacheMode) { | 469 switch (m_cacheMode) { |
470 | 470 |
471 case CacheInTemporaryFile: | 471 case CacheInTemporaryFile: |
472 if (sf_writef_float(m_cacheFileWritePtr, buffer, sz) < sz) { | 472 if (sf_writef_float(m_cacheFileWritePtr, buffer, sz) < sz) { |
473 sf_close(m_cacheFileWritePtr); | 473 sf_close(m_cacheFileWritePtr); |
474 m_cacheFileWritePtr = 0; | 474 m_cacheFileWritePtr = nullptr; |
475 throw InsufficientDiscSpace(TempDirectory::getInstance()->getPath()); | 475 throw InsufficientDiscSpace(TempDirectory::getInstance()->getPath()); |
476 } | 476 } |
477 break; | 477 break; |
478 | 478 |
479 case CacheInMemory: | 479 case CacheInMemory: |