xbmc
VideoSyncAndroid.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 
15 {
16 public:
17  CVideoSyncAndroid(void *clock) : CVideoSync(clock), m_LastVBlankTime(0) {}
18 
19  // CVideoSync interface
20  bool Setup(PUPDATECLOCK func) override;
21  void Run(CEvent& stop) override;
22  void Cleanup() override;
23  float GetFps() override;
24 
25  // IDispResource interface
26  void OnResetDisplay() override;
27 
28  // Choreographer callback
29  void FrameCallback(int64_t frameTimeNanos);
30 
31 private:
32  int64_t m_LastVBlankTime; //timestamp of the last vblank, used for calculating how many vblanks happened
33  CEvent m_abortEvent;
34 };
This is an Event class built from a ConditionVariable.
Definition: Event.h:35
Definition: VideoSyncAndroid.h:14
Definition: DispResource.h:14
Definition: VideoSync.h:16