Olive
playback
cacher.h
1
/***
2
3
Olive - Non-Linear Video Editor
4
Copyright (C) 2019 Olive Team
5
6
This program is free software: you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
18
19
***/
20
21
#ifndef CACHER_H
22
#define CACHER_H
23
24
#include <QThread>
25
#include <QVector>
26
27
class
Clip
;
28
29
class
Cacher
:
public
QThread
30
{
31
// Q_OBJECT
32
public
:
33
Cacher
(
Clip
* c);
34
void
run();
35
36
bool
caching;
37
38
// must be set before caching
39
long
playhead;
40
bool
reset;
41
bool
scrubbing;
42
bool
interrupt;
43
bool
queued;
44
int
playback_speed;
45
QVector<Clip*> nests;
46
47
private
:
48
Clip
* clip;
49
};
50
51
void
open_clip_worker(
Clip
* clip);
52
void
cache_clip_worker(
Clip
* clip,
long
playhead,
bool
reset,
bool
scrubbing, QVector<Clip *> nest,
int
playback_speed);
53
void
close_clip_worker(
Clip
* clip);
54
55
#endif // CACHER_H
Cacher
Definition:
cacher.h:29
Clip
Definition:
clip.h:53
Generated by
1.8.15