Mercurial > hg > svcore
diff data/fileio/CodedAudioFileReader.h @ 1069:32ab6c48efaa
Merge from branch tonioni
author | Chris Cannam |
---|---|
date | Mon, 20 Apr 2015 09:11:34 +0100 |
parents | 843f67be0ed9 |
children | 4d9816ba0ebe |
line wrap: on
line diff
--- a/data/fileio/CodedAudioFileReader.h Mon Mar 02 17:21:34 2015 +0000 +++ b/data/fileio/CodedAudioFileReader.h Mon Apr 20 09:11:34 2015 +0100 @@ -38,10 +38,9 @@ CacheInMemory }; - virtual void getInterleavedFrames(int start, int count, - SampleBlock &frames) const; + virtual SampleBlock getInterleavedFrames(sv_frame_t start, sv_frame_t count) const; - virtual int getNativeRate() const { return m_fileRate; } + virtual sv_samplerate_t getNativeRate() const { return m_fileRate; } virtual QString getLocalFilename() const { return m_cacheFileName; } @@ -53,14 +52,14 @@ protected: CodedAudioFileReader(CacheMode cacheMode, - int targetRate, + sv_samplerate_t targetRate, bool normalised); void initialiseDecodeCache(); // samplerate, channels must have been set // may throw InsufficientDiscSpace: - void addSamplesToDecodeCache(float **samples, int nframes); - void addSamplesToDecodeCache(float *samplesInterleaved, int nframes); + void addSamplesToDecodeCache(float **samples, sv_frame_t nframes); + void addSamplesToDecodeCache(float *samplesInterleaved, sv_frame_t nframes); void addSamplesToDecodeCache(const SampleBlock &interleaved); // may throw InsufficientDiscSpace: @@ -72,9 +71,9 @@ void endSerialised(); private: - void pushBuffer(float *interleaved, int sz, bool final); - void pushBufferResampling(float *interleaved, int sz, float ratio, bool final); - void pushBufferNonResampling(float *interleaved, int sz); + void pushBuffer(float *interleaved, sv_frame_t sz, bool final); + void pushBufferResampling(float *interleaved, sv_frame_t sz, double ratio, bool final); + void pushBufferNonResampling(float *interleaved, sv_frame_t sz); protected: QMutex m_cacheMutex; @@ -83,18 +82,18 @@ mutable QReadWriteLock m_dataLock; bool m_initialised; Serialiser *m_serialiser; - int m_fileRate; + sv_samplerate_t m_fileRate; QString m_cacheFileName; SNDFILE *m_cacheFileWritePtr; WavFileReader *m_cacheFileReader; float *m_cacheWriteBuffer; - int m_cacheWriteBufferIndex; - int m_cacheWriteBufferSize; // frames + sv_frame_t m_cacheWriteBufferIndex; + sv_frame_t m_cacheWriteBufferSize; // frames Resampler *m_resampler; float *m_resampleBuffer; - int m_fileFrameCount; + sv_frame_t m_fileFrameCount; bool m_normalised; float m_max;