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;