xbmc
VideoSyncTVos.h
1 /*
2  * Copyright (C) 2015-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "guilib/DispResource.h"
12 #include "windowing/VideoSync.h"
13 
14 class CWinSystemTVOS;
15 
17 {
18 public:
20  : CVideoSync(clock), m_winSystem(winSystem)
21  {
22  }
23 
24  // CVideoSync interface
25  bool Setup() override;
26  void Run(CEvent& stopEvent) override;
27  void Cleanup() override;
28  float GetFps() override;
29 
30  // IDispResource interface
31  void OnResetDisplay() override;
32 
33  // used in the displaylink callback
34  void TVosVblankHandler();
35 
36 private:
37  // CVideoSyncDarwin interface
38  virtual bool InitDisplayLink();
39  virtual void DeinitDisplayLink();
40 
41  //timestamp of the last vblank, used for calculating how many vblanks happened
42  int64_t m_LastVBlankTime = 0;
43  CEvent m_abortEvent;
44  CWinSystemTVOS& m_winSystem;
45 };
This is an Event class built from a ConditionVariable.
Definition: Event.h:35
Definition: VideoSyncTVos.h:16
Definition: DispResource.h:14
Definition: VideoReferenceClock.h:19
Definition: VideoSync.h:15
Definition: WinSystemTVOS.h:27