OpenShot Library | libopenshot 0.3.3
PlayerPrivate.h
Go to the documentation of this file.
1
10// Copyright (c) 2008-2019 OpenShot Studios, LLC
11//
12// SPDX-License-Identifier: LGPL-3.0-or-later
13
14#ifndef OPENSHOT_PLAYER_PRIVATE_H
15#define OPENSHOT_PLAYER_PRIVATE_H
16
17#include "../ReaderBase.h"
18#include "../RendererBase.h"
19#include "../AudioReaderSource.h"
20#include "../Qt/AudioPlaybackThread.h"
21#include "../Qt/VideoPlaybackThread.h"
22#include "../Qt/VideoCacheThread.h"
23
24namespace openshot
25{
30 class PlayerPrivate : juce::Thread
31 {
32 std::shared_ptr<openshot::Frame> frame;
33 int64_t playback_frames;
34 int64_t video_position;
35 int64_t audio_position;
36 openshot::ReaderBase *reader;
37 openshot::AudioPlaybackThread *audioPlayback;
38 openshot::VideoPlaybackThread *videoPlayback;
39 openshot::VideoCacheThread *videoCache;
40 int speed;
41 int last_speed;
42 openshot::RendererBase *renderer;
43 int64_t last_video_position;
44 int max_sleep_ms;
45 bool is_dirty;
46
50 virtual ~PlayerPrivate();
51
53 void run();
54
56 bool startPlayback();
57
59 void Seek(int64_t new_position);
60
62 void stopPlayback();
63
65 std::shared_ptr<openshot::Frame> getFrame();
66
68 friend class QtPlayer;
69 };
70
71}
72
73#endif // OPENSHOT_PLAYER_PRIVATE_H
The audio playback thread.
The private part of QtPlayer class, which contains an audio thread and video thread,...
Definition: PlayerPrivate.h:31
This class is used to playback a video from a reader.
Definition: QtPlayer.h:33
This abstract class is the base class, used by all readers in libopenshot.
Definition: ReaderBase.h:76
This is the base class of all Renderers in libopenshot.
Definition: RendererBase.h:31
The video cache class.
The video playback class.
This namespace is the default namespace for all code in the openshot library.
Definition: Compressor.h:29