OpenShot Audio Library | OpenShotAudio 0.3.2
|
#include <juce_BufferingAudioSource.h>
Public Member Functions | |
BufferingAudioSource (PositionableAudioSource *source, TimeSliceThread &backgroundThread, bool deleteSourceWhenDeleted, int numberOfSamplesToBuffer, int numberOfChannels=2, bool prefillBufferOnPrepareToPlay=true) | |
~BufferingAudioSource () override | |
void | prepareToPlay (int samplesPerBlockExpected, double sampleRate) override |
void | releaseResources () override |
void | getNextAudioBlock (const AudioSourceChannelInfo &) override |
void | setNextReadPosition (int64 newPosition) override |
int64 | getNextReadPosition () const override |
int64 | getTotalLength () const override |
bool | isLooping () const override |
bool | waitForNextAudioBlockReady (const AudioSourceChannelInfo &info, const uint32 timeout) |
![]() | |
~PositionableAudioSource () override=default | |
virtual void | setLooping (bool shouldLoop) |
![]() | |
virtual | ~AudioSource ()=default |
Additional Inherited Members | |
![]() | |
PositionableAudioSource ()=default | |
![]() | |
AudioSource ()=default | |
An AudioSource which takes another source as input, and buffers it using a thread.
Create this as a wrapper around another thread, and it will read-ahead with a background thread to smooth out playback. You can either create one of these directly, or use it indirectly using an AudioTransportSource.
Definition at line 38 of file juce_BufferingAudioSource.h.
juce::BufferingAudioSource::BufferingAudioSource | ( | PositionableAudioSource * | source, |
TimeSliceThread & | backgroundThread, | ||
bool | deleteSourceWhenDeleted, | ||
int | numberOfSamplesToBuffer, | ||
int | numberOfChannels = 2 , |
||
bool | prefillBufferOnPrepareToPlay = true |
||
) |
Creates a BufferingAudioSource.
source | the input source to read from |
backgroundThread | a background thread that will be used for the background read-ahead. This object must not be deleted until after any BufferingAudioSources that are using it have been deleted! |
deleteSourceWhenDeleted | if true, then the input source object will be deleted when this object is deleted |
numberOfSamplesToBuffer | the size of buffer to use for reading ahead |
numberOfChannels | the number of channels that will be played |
prefillBufferOnPrepareToPlay | if true, then calling prepareToPlay on this object will block until the buffer has been filled |
Definition at line 26 of file juce_BufferingAudioSource.cpp.
|
override |
Destructor.
The input source may be deleted depending on whether the deleteSourceWhenDeleted flag was set in the constructor.
Definition at line 44 of file juce_BufferingAudioSource.cpp.
|
overridevirtual |
Implementation of the AudioSource method.
Implements juce::AudioSource.
Definition at line 97 of file juce_BufferingAudioSource.cpp.
|
overridevirtual |
Implements the PositionableAudioSource method.
Implements juce::PositionableAudioSource.
Definition at line 202 of file juce_BufferingAudioSource.cpp.
|
inlineoverridevirtual |
Implements the PositionableAudioSource method.
Implements juce::PositionableAudioSource.
Definition at line 89 of file juce_BufferingAudioSource.h.
Referenced by waitForNextAudioBlockReady().
|
inlineoverridevirtual |
Implements the PositionableAudioSource method.
Implements juce::PositionableAudioSource.
Definition at line 92 of file juce_BufferingAudioSource.h.
Referenced by waitForNextAudioBlockReady().
|
overridevirtual |
Implementation of the AudioSource method.
Implements juce::AudioSource.
Definition at line 50 of file juce_BufferingAudioSource.cpp.
|
overridevirtual |
Implementation of the AudioSource method.
Implements juce::AudioSource.
Definition at line 83 of file juce_BufferingAudioSource.cpp.
Referenced by ~BufferingAudioSource().
|
overridevirtual |
Implements the PositionableAudioSource method.
Implements juce::PositionableAudioSource.
Definition at line 212 of file juce_BufferingAudioSource.cpp.
bool juce::BufferingAudioSource::waitForNextAudioBlockReady | ( | const AudioSourceChannelInfo & | info, |
const uint32 | timeout | ||
) |
A useful function to block until the next the buffer info can be filled.
This is useful for offline rendering.
Definition at line 158 of file juce_BufferingAudioSource.cpp.