OpenShot Library | libopenshot
0.2.5
|
Go to the documentation of this file.
31 #ifndef OPENSHOT_CACHE_BASE_H
32 #define OPENSHOT_CACHE_BASE_H
69 virtual void Add(std::shared_ptr<openshot::Frame> frame) = 0;
72 virtual void Clear() = 0;
75 virtual int64_t
Count() = 0;
79 virtual std::shared_ptr<openshot::Frame>
GetFrame(int64_t frame_number) = 0;
89 virtual void Remove(int64_t frame_number) = 0;
94 virtual void Remove(int64_t start_frame_number, int64_t end_frame_number) = 0;
109 void SetMaxBytesFromInfo(int64_t number_of_frames,
int width,
int height,
int sample_rate,
int channels);
112 virtual std::string
Json() = 0;
113 virtual void SetJson(
const std::string value) = 0;
virtual std::shared_ptr< openshot::Frame > GetSmallestFrame()=0
Get the smallest frame number.
virtual void Clear()=0
Clear the cache of all frames.
virtual std::shared_ptr< openshot::Frame > GetFrame(int64_t frame_number)=0
Get a frame from the cache.
int64_t max_bytes
This is the max number of bytes to cache (0 = no limit)
This namespace is the default namespace for all code in the openshot library.
virtual void Add(std::shared_ptr< openshot::Frame > frame)=0
Add a Frame to the cache.
virtual ~CacheBase()=default
juce::CriticalSection * cacheCriticalSection
Section lock for multiple threads.
All cache managers in libopenshot are based on this CacheBase class.
virtual void Remove(int64_t frame_number)=0
Remove a specific frame.
void SetMaxBytesFromInfo(int64_t number_of_frames, int width, int height, int sample_rate, int channels)
Set maximum bytes to a different amount based on a ReaderInfo struct.
virtual void SetJsonValue(const Json::Value root)=0
Load Json::Value into this object.
virtual void SetJson(const std::string value)=0
Load JSON string into this object.
virtual Json::Value JsonValue()=0
Generate Json::Value for this object.
Header file for Frame class.
virtual int64_t Count()=0
Count the frames in the queue.
std::string cache_type
This is a friendly type name of the derived cache instance.
virtual std::string Json()=0
Get and Set JSON methods.
int64_t GetMaxBytes()
Gets the maximum bytes value.
void SetMaxBytes(int64_t number_of_bytes)
Set maximum bytes to a different amount.
virtual int64_t GetBytes()=0
Gets the maximum bytes value.
CacheBase()
Default constructor, no max bytes.
Header file for JSON class.
Header file for all Exception classes.