OpenShot Library | libopenshot  0.3.3
VideoPlaybackThread.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_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 
20 namespace 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 
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
openshot::VideoPlaybackThread
The video playback class.
Definition: VideoPlaybackThread.h:30
openshot
This namespace is the default namespace for all code in the openshot library.
Definition: Compressor.h:28
openshot::PlayerPrivate
The private part of QtPlayer class, which contains an audio thread and video thread,...
Definition: PlayerPrivate.h:30
openshot::QtPlayer
This class is used to playback a video from a reader.
Definition: QtPlayer.h:32
openshot::RendererBase
This is the base class of all Renderers in libopenshot.
Definition: RendererBase.h:30