OpenShot Library | libopenshot 0.5.0
Loading...
Searching...
No Matches
VideoPlaybackThread.h
Go to the documentation of this file.
1
9
10// Copyright (c) 2008-2019 OpenShot Studios, LLC
11//
12// SPDX-License-Identifier: LGPL-3.0-or-later
13
14#ifndef OPENSHOT_VIDEO_PLAYBACK_THREAD_H
15#define OPENSHOT_VIDEO_PLAYBACK_THREAD_H
16
17#include <AppConfig.h>
18#include <juce_audio_basics/juce_audio_basics.h>
19
20namespace openshot
21{
22 class Frame;
23 class RendererBase;
24 using juce::Thread;
25 using juce::WaitableEvent;
26
30 class VideoPlaybackThread : Thread
31 {
32 RendererBase *renderer;
33 std::shared_ptr<Frame> frame;
34 WaitableEvent render;
35 WaitableEvent rendered;
36 bool reset;
37
39 VideoPlaybackThread(RendererBase *rb);
41 ~VideoPlaybackThread();
42
44 int64_t getCurrentFramePosition();
45
47 void run();
48
50 friend class PlayerPrivate;
51 friend class QtPlayer;
52 };
53
54}
55
56#endif // OPENSHOT_VIDEO_PLAYBACK_THREAD_H
This class represents a single frame of video (i.e. image & audio data).
Definition Frame.h:89
This is the base class of all Renderers in libopenshot.
friend class PlayerPrivate
Parent class of VideoPlaybackThread.
This namespace is the default namespace for all code in the openshot library.
Definition Compressor.h:29