Loading...
Searching...
No Matches
PlayerPrivate.h
Go to the documentation of this file.
// Copyright (c) 2008-2019 OpenShot Studios, LLC
//
// SPDX-License-Identifier: LGPL-3.0-or-later
#ifndef OPENSHOT_PLAYER_PRIVATE_H
#define OPENSHOT_PLAYER_PRIVATE_H
#include "../ReaderBase.h"
#include "../RendererBase.h"
#include "../AudioReaderSource.h"
#include "../Qt/AudioPlaybackThread.h"
#include "../Qt/VideoPlaybackThread.h"
#include "../Qt/VideoCacheThread.h"
namespace openshot
{
class PlayerPrivate : juce::Thread
{
std::shared_ptr<openshot::Frame> frame;
int64_t playback_frames;
int64_t video_position;
int64_t audio_position;
openshot::ReaderBase *reader;
openshot::AudioPlaybackThread *audioPlayback;
openshot::VideoPlaybackThread *videoPlayback;
openshot::VideoCacheThread *videoCache;
int speed;
int last_speed;
openshot::RendererBase *renderer;
int64_t last_video_position;
int max_sleep_ms;
bool is_dirty;
PlayerPrivate(openshot::RendererBase *rb);
virtual ~PlayerPrivate();
void run();
bool startPlayback();
void Seek(int64_t new_position);
void stopPlayback();
std::shared_ptr<openshot::Frame> getFrame();
friend class QtPlayer;
};
}
#endif // OPENSHOT_PLAYER_PRIVATE_H
openshot::AudioPlaybackThread
The audio playback thread.
Definition AudioPlaybackThread.h:78
openshot::PlayerPrivate
The private part of QtPlayer class, which contains an audio thread and video thread,...
Definition PlayerPrivate.h:31
openshot::QtPlayer
This class is used to playback a video from a reader.
Definition QtPlayer.h:33
openshot::ReaderBase
This abstract class is the base class, used by all readers in libopenshot.
Definition ReaderBase.h:76
openshot::RendererBase
This is the base class of all Renderers in libopenshot.
Definition RendererBase.h:31
openshot::VideoCacheThread
The video cache class.
Definition VideoCacheThread.h:30
openshot::VideoPlaybackThread
The video playback class.
Definition VideoPlaybackThread.h:31
openshot
This namespace is the default namespace for all code in the openshot library.
Definition Compressor.h:29