#include <juce_audio_formats.h>
|
| BufferingAudioReader (AudioFormatReader *sourceReader, TimeSliceThread &timeSliceThread, int samplesToBuffer) |
|
| ~BufferingAudioReader () |
|
void | setReadTimeout (int timeoutMilliseconds) noexcept |
|
bool | readSamples (int **destSamples, int numDestChannels, int startOffsetInDestBuffer, int64 startSampleInFile, int numSamples) override |
|
virtual | ~AudioFormatReader () |
|
const String & | getFormatName () const noexcept |
|
bool | read (int *const *destSamples, int numDestChannels, int64 startSampleInSource, int numSamplesToRead, bool fillLeftoverChannelsWithCopies) |
|
void | read (AudioSampleBuffer *buffer, int startSampleInDestBuffer, int numSamples, int64 readerStartSample, bool useReaderLeftChan, bool useReaderRightChan) |
|
virtual void | readMaxLevels (int64 startSample, int64 numSamples, Range< float > *results, int numChannelsToRead) |
|
virtual void | readMaxLevels (int64 startSample, int64 numSamples, float &lowestLeft, float &highestLeft, float &lowestRight, float &highestRight) |
|
int64 | searchForLevel (int64 startSample, int64 numSamplesToSearch, double magnitudeRangeMinimum, double magnitudeRangeMaximum, int minimumConsecutiveSamples) |
|
An AudioFormatReader that uses a background thread to pre-read data from another reader.
- See also
- AudioFormatReader
Creates a reader.
- Parameters
-
sourceReader | the source reader to wrap. This BufferingAudioReader takes ownership of this object and will delete it later when no longer needed |
timeSliceThread | the thread that should be used to do the background reading. Make sure that the thread you supply is running, and won't be deleted while the reader object still exists. |
samplesToBuffer | the total number of samples to buffer ahead. |
BufferingAudioReader::~BufferingAudioReader |
( |
| ) |
|
bool BufferingAudioReader::readSamples |
( |
int ** |
destSamples, |
|
|
int |
numDestChannels, |
|
|
int |
startOffsetInDestBuffer, |
|
|
int64 |
startSampleInFile, |
|
|
int |
numSamples |
|
) |
| |
|
overridevirtual |
Subclasses must implement this method to perform the low-level read operation.
Callers should use read() instead of calling this directly.
- Parameters
-
destSamples | the array of destination buffers to fill. Some of these pointers may be null |
numDestChannels | the number of items in the destSamples array. This value is guaranteed not to be greater than the number of channels that this reader object contains |
startOffsetInDestBuffer | the number of samples from the start of the dest data at which to begin writing |
startSampleInFile | the number of samples into the source data at which to begin reading. This value is guaranteed to be >= 0. |
numSamples | the number of samples to read |
Implements juce::AudioFormatReader.
void BufferingAudioReader::setReadTimeout |
( |
int |
timeoutMilliseconds | ) |
|
|
noexcept |
Sets a number of milliseconds that the reader can block for in its readSamples() method before giving up and returning silence. A value of less that 0 means "wait forever". The default timeout is 0.
The documentation for this class was generated from the following files: