|
OpenShot Audio Library | OpenShotAudio 0.4.0
|
#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, uint32 timeout) |
Public Member Functions inherited from juce::PositionableAudioSource | |
| ~PositionableAudioSource () override=default | |
| virtual void | setLooping (bool shouldLoop) |
Public Member Functions inherited from juce::AudioSource | |
| virtual | ~AudioSource ()=default |
Additional Inherited Members | |
Protected Member Functions inherited from juce::PositionableAudioSource | |
| PositionableAudioSource ()=default | |
Protected Member Functions inherited from juce::AudioSource | |
| 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 101 of file juce_BufferingAudioSource.cpp.
|
overridevirtual |
Implements the PositionableAudioSource method.
Implements juce::PositionableAudioSource.
Definition at line 203 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 87 of file juce_BufferingAudioSource.cpp.
Referenced by ~BufferingAudioSource().
|
overridevirtual |
Implements the PositionableAudioSource method.
Implements juce::PositionableAudioSource.
Definition at line 213 of file juce_BufferingAudioSource.cpp.
| bool juce::BufferingAudioSource::waitForNextAudioBlockReady | ( | const AudioSourceChannelInfo & | info, |
| 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 160 of file juce_BufferingAudioSource.cpp.