28 #ifndef OPENSHOT_READER_BASE_H
29 #define OPENSHOT_READER_BASE_H
42 #include <QtCore/qstring.h>
43 #include <QGraphicsItem>
44 #include <QGraphicsScene>
45 #include <QGraphicsPixmapItem>
103 void AppendDebugMethod(
string method_name,
string arg1_name,
float arg1_value,
104 string arg2_name,
float arg2_value,
105 string arg3_name,
float arg3_value,
106 string arg4_name,
float arg4_value,
107 string arg5_name,
float arg5_value,
108 string arg6_name,
float arg6_value);
123 virtual void Close() = 0;
129 void DrawFrameOnScene(
string path,
long _graphics_scene_address);
132 virtual Cache* GetCache() = 0;
140 virtual tr1::shared_ptr<Frame> GetFrame(
long int number) = 0;
146 virtual bool IsOpen() = 0;
149 virtual string Name() = 0;
152 virtual string Json() = 0;
153 virtual void SetJson(
string value)
throw(
InvalidJSON) = 0;
154 virtual Json::Value JsonValue() = 0;
155 virtual void SetJsonValue(Json::Value root) = 0;
158 virtual void Open() = 0;
long long file_size
Size of file (in bytes)
Header file for Fraction class.
CriticalSection getFrameCriticalSection
Section lock for multiple threads.
CriticalSection processingCriticalSection
ChannelLayout channel_layout
The channel layout (mono, stereo, 5 point surround, etc...)
int width
The width of the video (in pixesl)
float duration
Length of time (in seconds)
string acodec
The name of the audio codec used to encode / decode the video stream.
This abstract class is the base class, used by all readers in libopenshot.
bool has_video
Determines if this file has a video stream.
Fraction display_ratio
The ratio of width to height of the video stream (i.e. 640x480 has a ratio of 4/3) ...
int audio_bit_rate
The bit rate of the audio stream (in bytes)
bool has_audio
Determines if this file has an audio stream.
Header file for Frame class.
int audio_stream_index
The index of the audio stream.
int height
The height of the video (in pixels)
Header file for Cache class.
Header file for JSON class.
This class represents a fraction.
Header file for ZeroMQ-based Logger class.
This class is a cache manager for Frame objects.
This struct contains info about a media file, such as height, width, frames per second, etc...
Header file for ChannelLayout class.
bool has_single_image
Determines if this file only contains a single image.
ChannelLayout
This enumeration determines the audio channel layout (such as stereo, mono, 5 point surround...
ReaderInfo info
Information about the current media file.
Fraction fps
Frames per second, as a fraction (i.e. 24/1 = 24 fps)
Fraction video_timebase
The video timebase determines how long each frame stays on the screen.
Fraction pixel_ratio
The pixel ratio of the video stream as a fraction (i.e. some pixels are not square) ...
Exception for invalid JSON.
int pixel_format
The pixel format (i.e. YUV420P, RGB24, etc...)
int video_bit_rate
The bit rate of the video stream (in bytes)
Fraction audio_timebase
The audio timebase determines how long each audio packet should be played.
string vcodec
The name of the video codec used to encode / decode the video stream.
int channels
The number of audio channels used in the audio stream.
int video_stream_index
The index of the video stream.
long int video_length
The number of frames in the video stream.
int sample_rate
The number of audio samples per second (44100 is a common sample rate)