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.
Header file for VideoCacheThread class.
void Seek(int64_t new_position)
Seek to a specific frame.
AudioReaderSource(ReaderBase *audio_reader, int64_t starting_frame_number)
The cache thread (for pre-roll checking).
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 class represents a single frame of video (i.e. image & audio data).
This abstract class is the base class, used by all readers in libopenshot.
Handles prefetching and caching of video/audio frames for smooth playback.
This namespace is the default namespace for all code in the openshot library.