13#ifndef OPENSHOT_AUDIOREADERSOURCE_H
14#define OPENSHOT_AUDIOREADERSOURCE_H
20#include <juce_audio_basics/juce_audio_basics.h>
39 std::shared_ptr<Frame> frame;
40 int64_t sample_position;
81 std::shared_ptr<Frame>
getFrame()
const {
return frame; }
84 void setSpeed(
int new_speed) { speed = new_speed; }
97 void Seek(int64_t new_position) { frame_position = new_position; sample_position=0; }
Header file for ReaderBase class.
Source file for VideoCacheThread class.
This class is used to expose any ReaderBase derived class as an AudioSource in JUCE.
void Seek(int64_t new_position)
Seek to a specific frame.
int getSpeed() const
Get Speed (The speed and direction to playback a reader (1=normal, 2=fast, 3=faster,...
void releaseResources()
Release all resources.
void Reader(ReaderBase *audio_reader)
Set Reader.
juce::int64 getNextReadPosition() const
Get the next read position of this source.
void setLooping(bool shouldLoop)
This method is ignored (we do not support looping audio playback)
juce::int64 getTotalLength() const
Get the total length (in samples) of this audio source.
void setSpeed(int new_speed)
Set Speed (The speed and direction to playback a reader (1=normal, 2=fast, 3=faster,...
void prepareToPlay(int, double)
Prepare to play this audio source.
ReaderBase * Reader() const
Get Reader.
void getNextAudioBlock(const juce::AudioSourceChannelInfo &info)
Get the next block of audio samples.
std::shared_ptr< Frame > getFrame() const
Return the current frame object.
~AudioReaderSource()
Destructor.
void setVideoCache(openshot::VideoCacheThread *newCache)
Set playback video cache thread (for pre-roll reference)
void setNextReadPosition(juce::int64 newPosition)
Set the next read position of this source.
bool isLooping() const
Looping is not support in OpenShot audio playback (this is always false)
This abstract class is the base class, used by all readers in libopenshot.
This namespace is the default namespace for all code in the openshot library.