DDNet documentation
Loading...
Searching...
No Matches
video.h
Go to the documentation of this file.
1#ifndef ENGINE_SHARED_VIDEO_H
2#define ENGINE_SHARED_VIDEO_H
3
4#include <cstdint>
5#include <functional>
6
7typedef std::function<void(short *pFinalOut, unsigned Frames)> ISoundMixFunc;
8
9class IVideo
10{
11public:
12 virtual ~IVideo() = default;
13
14 virtual bool Start() = 0;
15 virtual void Stop() = 0;
16 virtual void Pause(bool Pause) = 0;
17 virtual bool IsRecording() const = 0;
18
19 virtual void NextVideoFrame() = 0;
20 virtual void NextVideoFrameThread() = 0;
21
22 virtual void NextAudioFrame(ISoundMixFunc Mix) = 0;
24
25 virtual int64_t Time() const = 0;
26 virtual float LocalTime() const = 0;
27 virtual void SetLocalStartTime(int64_t LocalStartTime) = 0;
28
29 static IVideo *Current() { return ms_pCurrentVideo; }
30
31protected:
33};
34
35#endif
Definition video.h:10
virtual void NextVideoFrame()=0
virtual void Pause(bool Pause)=0
virtual void SetLocalStartTime(int64_t LocalStartTime)=0
virtual bool IsRecording() const =0
virtual void NextAudioFrame(ISoundMixFunc Mix)=0
virtual void NextVideoFrameThread()=0
virtual float LocalTime() const =0
static IVideo * ms_pCurrentVideo
Definition video.h:32
virtual void Stop()=0
virtual bool Start()=0
virtual ~IVideo()=default
static IVideo * Current()
Definition video.h:29
virtual void NextAudioFrameTimeline(ISoundMixFunc Mix)=0
virtual int64_t Time() const =0
std::function< void(short *pFinalOut, unsigned Frames)> ISoundMixFunc
Definition video.h:7