29 #include "../include/Clip.h" 30 #include "../include/FFmpegReader.h" 31 #include "../include/Timeline.h" 32 #include "../include/QtPlayer.h" 33 #include "../include/Qt/PlayerPrivate.h" 34 #include "../include/Qt/VideoRenderer.h" 88 if (
reader && !threads_started) {
91 threads_started =
true;
114 return p->video_position;
122 p->videoCache->Seek(new_frame);
125 p->video_position = new_frame;
128 p->last_video_position = 0;
131 p->audioPlayback->Seek(new_frame);
141 p->videoCache->Stop();
142 p->audioPlayback->Stop();
147 p->video_position = 0;
148 threads_started =
false;
156 p->reader = new_reader;
157 p->videoCache->Reader(new_reader);
158 p->audioPlayback->Reader(new_reader);
185 p->speed = new_speed;
186 p->videoCache->setSpeed(new_speed);
188 p->audioPlayback->setSpeed(new_speed);
virtual ~QtPlayer()
Default destructor.
void Seek(int64_t new_frame)
Seek to a specific frame in the player.
void CloseAudioDevice()
Close audio device.
ChannelLayout channel_layout
The channel layout (mono, stereo, 5 point surround, etc...)
int width
The width of the video (in pixesl)
int64_t GetRendererQObject()
Get the Renderer pointer address (for Python to cast back into a QObject)
virtual void OverrideWidget(int64_t qwidget_address)=0
Allow manual override of the QWidget that is used to display.
Loading the video (display a loading animation)
Stop playing the video (clear cache, done with player)
This abstract class is the base class, used by all readers in libopenshot.
PlaybackMode Mode()
Get the current mode.
This is the base class of all Players in libopenshot.
void Stop()
Stop the video player and clear the cached frames.
bool has_audio
Determines if this file has an audio stream.
This class uses the FFmpeg libraries, to open video files and audio files, and return openshot::Frame...
This class represents a clip (used to arrange readers on the timeline)
int height
The height of the video (in pixels)
void Pause()
Pause the video.
Pause the video (holding the last displayed frame)
QtPlayer()
Default constructor.
float Speed()
Get the Playback speed.
The private part of QtPlayer class, which contains an audio thread and video thread, and controls the video timing and audio synchronization code.
void AddClip(Clip *clip)
Add an openshot::Clip to the timeline.
void SetQWidget(int64_t qwidget_address)
ReaderInfo info
Information about the current media file.
Fraction fps
Frames per second, as a fraction (i.e. 24/1 = 24 fps)
void Open()
Open the reader (and start consuming resources)
int Position()
Get the current frame number being played.
This namespace is the default namespace for all code in the openshot library.
float Volume()
Get the Volume.
void CloseAudioDevice()
Close audio device.
void Play()
Play the video.
PlaybackMode
This enumeration determines the mode of the video player (i.e. playing, paused, etc...)
static AudioDeviceManagerSingleton * Instance(int numChannels)
Create or get an instance of this singleton (invoke the class with this method)
void SetSource(const std::string &source)
Set the source URL/path of this player (which will create an internal Reader)
This is the base class of all Renderers in libopenshot.
void DisplayInfo()
Display file information in the standard output stream (stdout)
void Loading()
Display a loading animation.
int channels
The number of audio channels used in the audio stream.
ReaderBase * Reader()
Get the current reader, such as a FFmpegReader.
int sample_rate
The number of audio samples per second (44100 is a common sample rate)
This class represents a timeline.