blob: 8a2fab5c9d9ba67dde0ba07156335eaa2b0f3ded (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
#include "video_timer.hpp"
#include "../std/bind.hpp"
VideoTimer::VideoTimer(TFrameFn fn) : m_frameFn(fn), m_state(EStopped)
{}
VideoTimer::EState VideoTimer::state() const
{
return m_state;
}
VideoTimer::~VideoTimer()
{}
VideoTimer::TFrameFn VideoTimer::frameFn() const
{
return m_frameFn;
}
void VideoTimer::setFrameFn(TFrameFn fn)
{
m_frameFn = fn;
}
namespace
{
void empty() {}
}
EmptyVideoTimer::EmptyVideoTimer()
: base_t(bind(&empty))
{
}
EmptyVideoTimer::~EmptyVideoTimer()
{
stop();
}
void EmptyVideoTimer::start()
{
if (m_state == EStopped)
m_state = ERunning;
}
void EmptyVideoTimer::resume()
{
if (m_state == EPaused)
{
m_state = EStopped;
start();
}
}
void EmptyVideoTimer::pause()
{
stop();
m_state = EPaused;
}
void EmptyVideoTimer::stop()
{
if (m_state == ERunning)
m_state = EStopped;
}
void EmptyVideoTimer::perform()
{
}
|