53 TimeSliceThread& timeSliceThread,
66 bool readSamples (
int*
const* destSamples,
int numDestChannels,
int startOffsetInDestBuffer,
67 int64 startSampleInFile,
int numSamples)
override;
76 bool allSamplesRead =
false;
79 int useTimeSlice()
override;
80 BufferedBlock* getBlockContaining (int64 pos)
const noexcept;
81 bool readNextBufferChunk();
83 static constexpr int samplesPerBlock = 32768;
85 std::unique_ptr<AudioFormatReader> source;
86 TimeSliceThread& thread;
87 std::atomic<int64> nextReadPosition { 0 };
BufferingAudioReader(AudioFormatReader *sourceReader, TimeSliceThread &timeSliceThread, int samplesToBuffer)
void setReadTimeout(int timeoutMilliseconds) noexcept
bool readSamples(int *const *destSamples, int numDestChannels, int startOffsetInDestBuffer, int64 startSampleInFile, int numSamples) override