13#ifndef OPENSHOT_CHUNK_READER_H
14#define OPENSHOT_CHUNK_READER_H
87 std::shared_ptr<openshot::Frame> last_frame;
90 bool does_folder_exist(std::string
path);
96 std::string get_chunk_path(int64_t chunk_number, std::string folder, std::string extension);
110 void Close()
override;
126 std::shared_ptr<openshot::Frame>
GetFrame(int64_t requested_frame)
override;
129 bool IsOpen()
override {
return is_open; };
132 std::string
Name()
override {
return "ChunkReader"; };
135 std::string
Json()
const override;
136 void SetJson(
const std::string value)
override;
141 void Open()
override;
Header file for JSON class.
Header file for ReaderBase class.
All cache managers in libopenshot are based on this CacheBase class.
This class reads a special chunk-formatted file, which can be easily shared in a distributed environm...
std::string Json() const override
Generate JSON string of this object.
void Close() override
Close the reader.
bool IsOpen() override
Determine if reader is open or closed.
void Open() override
Open the reader. This is required before you can access frames or data from the reader.
Json::Value JsonValue() const override
Generate Json::Value for this object.
std::shared_ptr< openshot::Frame > GetFrame(int64_t requested_frame) override
Get an openshot::Frame object for a specific frame number of this reader.
void SetJsonValue(const Json::Value root) override
Load Json::Value into this object.
int64_t GetChunkSize()
Get the chunk size (number of frames to write in each chunk)
void SetJson(const std::string value) override
Load JSON string into this object.
std::string Name() override
Return the type name of the class.
void SetChunkSize(int64_t new_size)
Set the chunk size (number of frames to write in each chunk)
openshot::CacheBase * GetCache() override
Get the cache object used by this reader (always return NULL for this reader)
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.
ChunkVersion
This enumeration allows the user to choose which version of the chunk they would like (low,...
@ THUMBNAIL
The lowest quality stream contained in this chunk file.
@ FINAL
The highest quality stream contained in this chunk file.
@ PREVIEW
The medium quality stream contained in this chunk file.
This struct holds the location of a frame within a chunk.
int64_t number
The chunk number.
int64_t frame
The frame number.