OpenShot Library | libopenshot
0.4.0
|
Go to the documentation of this file.
20 void DummyReader::init(
Fraction fps,
int width,
int height,
int sample_rate,
int channels,
float duration) {
24 info.
file_size =
static_cast<size_t>(width) * height *
sizeof(
int);
53 init(
Fraction(24,1), 1280, 768, 44100, 2, 30.0);
58 dummy_cache(NULL), last_cached_frame(NULL), image_frame(NULL), is_open(false) {
61 init(fps, width, height, sample_rate, channels, duration);
66 CacheBase* cache) : last_cached_frame(NULL), image_frame(NULL), is_open(false) {
69 init(fps, width, height, sample_rate, channels, duration);
109 throw ReaderClosed(
"The ImageReader is closed. Call Open() before calling this method.",
"dummy");
111 int dummy_cache_count = 0;
113 dummy_cache_count = dummy_cache->
Count();
116 if (dummy_cache_count == 0 && image_frame) {
118 const std::lock_guard<std::recursive_mutex> lock(
getFrameMutex);
121 image_frame->number = requested_frame;
122 last_cached_frame = image_frame;
125 }
else if (dummy_cache_count > 0) {
127 const std::lock_guard<std::recursive_mutex> lock(
getFrameMutex);
130 std::shared_ptr<openshot::Frame> f = dummy_cache->
GetFrame(requested_frame);
133 last_cached_frame = f;
135 }
else if (last_cached_frame) {
137 return last_cached_frame;
140 throw InvalidFile(
"Requested frame not found. You can only access Frame numbers that exist in the Cache object.",
"dummy");
145 throw InvalidFile(
"No frame could be created from this type of file.",
"dummy");
160 root[
"type"] =
"DummyReader";
176 catch (
const std::exception& e)
179 throw InvalidJSON(
"JSON is invalid (missing keys or invalid data types)");
const Json::Value stringToJson(const std::string value)
int sample_rate
The number of audio samples per second (44100 is a common sample rate)
float ToFloat()
Return this fraction as a float (i.e. 1/2 = 0.5)
virtual Json::Value JsonValue() const =0
Generate Json::Value for this object.
virtual std::shared_ptr< openshot::Frame > GetFrame(int64_t frame_number)=0
Get a frame from the cache.
virtual void SetJsonValue(const Json::Value root)=0
Load Json::Value into this object.
This namespace is the default namespace for all code in the openshot library.
This class represents a fraction.
openshot::ReaderInfo info
Information about the current media file.
void Open() override
Open File - which is called by the constructor automatically.
float duration
Length of time (in seconds)
bool has_video
Determines if this file has a video stream.
int width
The width of the video (in pixesl)
All cache managers in libopenshot are based on this CacheBase class.
void SetJson(const std::string value) override
Load JSON string into this object.
int64_t video_length
The number of frames in the video stream.
int height
The height of the video (in pixels)
int num
Numerator for the fraction.
int den
Denominator for the fraction.
Fraction Reciprocal() const
Return the reciprocal as a Fraction.
bool has_audio
Determines if this file has an audio stream.
Exception for invalid JSON.
int64_t file_size
Size of file (in bytes)
openshot::Fraction video_timebase
The video timebase determines how long each frame stays on the screen.
Header file for Frame class.
void Close() override
Close File.
Json::Value JsonValue() const override
Generate Json::Value for this object.
virtual int64_t Count()=0
Count the frames in the queue.
Exception for files that can not be found or opened.
std::string vcodec
The name of the video codec used to encode / decode the video stream.
DummyReader()
Blank constructor for DummyReader, with default settings.
Exception when a reader is closed, and a frame is requested.
openshot::Fraction fps
Frames per second, as a fraction (i.e. 24/1 = 24 fps)
void SetJsonValue(const Json::Value root) override
Load Json::Value into this object.
openshot::Fraction pixel_ratio
The pixel ratio of the video stream as a fraction (i.e. some pixels are not square)
std::string acodec
The name of the audio codec used to encode / decode the video stream.
openshot::Fraction display_ratio
The ratio of width to height of the video stream (i.e. 640x480 has a ratio of 4/3)
int channels
The number of audio channels used in the audio stream.
std::shared_ptr< openshot::Frame > GetFrame(int64_t requested_frame) override
Header file for DummyReader class.
Header file for all Exception classes.
std::recursive_mutex getFrameMutex
Mutex for multiple threads.
std::string Json() const override
Generate JSON string of this object.