author | unC0Rr |
Thu, 10 Sep 2020 09:30:41 +0200 | |
changeset 15739 | 94f4d0a96143 |
parent 14629 | 8ffa0c27f434 |
permissions | -rw-r--r-- |
7180 | 1 |
/* |
2 |
* Hedgewars, a free turn based strategy game |
|
11046 | 3 |
* Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com> |
7180 | 4 |
* |
5 |
* This program is free software; you can redistribute it and/or modify |
|
6 |
* it under the terms of the GNU General Public License as published by |
|
7 |
* the Free Software Foundation; version 2 of the License |
|
8 |
* |
|
9 |
* This program is distributed in the hope that it will be useful, |
|
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
12 |
* GNU General Public License for more details. |
|
13 |
* |
|
14 |
* You should have received a copy of the GNU General Public License |
|
15 |
* along with this program; if not, write to the Free Software |
|
10108
c68cf030eded
update FSF address. note: two sdl include files (by Sam Lantinga) still have the old FSF address in their copyright - but I ain't gonna touch their copyright headers
sheepluva
parents:
9998
diff
changeset
|
16 |
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
7180 | 17 |
*/ |
18 |
||
19 |
#ifndef RECORDER_H |
|
20 |
#define RECORDER_H |
|
21 |
||
22 |
#include <QString> |
|
23 |
#include <QByteArray> |
|
24 |
||
25 |
#include "tcpBase.h" |
|
26 |
||
27 |
class GameUIConfig; |
|
7280
fd707afbc3a2
pagevideos is now much better that before:
Stepan777 <stepik-777@mail.ru>
parents:
7180
diff
changeset
|
28 |
class VideoItem; |
7180 | 29 |
|
30 |
class HWRecorder : public TCPBase |
|
31 |
{ |
|
32 |
Q_OBJECT |
|
33 |
public: |
|
7280
fd707afbc3a2
pagevideos is now much better that before:
Stepan777 <stepik-777@mail.ru>
parents:
7180
diff
changeset
|
34 |
HWRecorder(GameUIConfig * config, const QString & prefix); |
7180 | 35 |
virtual ~HWRecorder(); |
36 |
||
7376
48b79b3ca592
rework saving of camera positions so there is no need to know framerate during prerecording.
Stepan777 <stepik-777@mail.ru>
parents:
7280
diff
changeset
|
37 |
void EncodeVideo(const QByteArray & record); |
13644
1b536e268519
Fix frontend crash when rapidly aborting many active video encodings. Fixes bug 595
Wuzzy <Wuzzy2@mail.ru>
parents:
11046
diff
changeset
|
38 |
void abort(); |
9800
169fbb968bb3
No idea what this is doing, seems to allow recorder instance to not block further engine starts while it is doing its job.
unc0rr
parents:
9080
diff
changeset
|
39 |
bool simultaneousRun(); |
7280
fd707afbc3a2
pagevideos is now much better that before:
Stepan777 <stepik-777@mail.ru>
parents:
7180
diff
changeset
|
40 |
|
fd707afbc3a2
pagevideos is now much better that before:
Stepan777 <stepik-777@mail.ru>
parents:
7180
diff
changeset
|
41 |
VideoItem * item; // used by pagevideos |
fd707afbc3a2
pagevideos is now much better that before:
Stepan777 <stepik-777@mail.ru>
parents:
7180
diff
changeset
|
42 |
QString name; |
fd707afbc3a2
pagevideos is now much better that before:
Stepan777 <stepik-777@mail.ru>
parents:
7180
diff
changeset
|
43 |
QString prefix; |
7180 | 44 |
|
45 |
protected: |
|
7280
fd707afbc3a2
pagevideos is now much better that before:
Stepan777 <stepik-777@mail.ru>
parents:
7180
diff
changeset
|
46 |
// virtuals from TCPBase |
7180 | 47 |
virtual QStringList getArguments(); |
48 |
virtual void onClientRead(); |
|
49 |
virtual void onClientDisconnect(); |
|
50 |
||
51 |
signals: |
|
7280
fd707afbc3a2
pagevideos is now much better that before:
Stepan777 <stepik-777@mail.ru>
parents:
7180
diff
changeset
|
52 |
void onProgress(float progress); // 0 < progress < 1 |
fd707afbc3a2
pagevideos is now much better that before:
Stepan777 <stepik-777@mail.ru>
parents:
7180
diff
changeset
|
53 |
void encodingFinished(bool success); |
14629
8ffa0c27f434
Show error message in frontend if video encoding failed in engine
Wuzzy <Wuzzy2@mail.ru>
parents:
13644
diff
changeset
|
54 |
void ErrorMessage(const QString &); |
7180 | 55 |
|
56 |
private: |
|
7280
fd707afbc3a2
pagevideos is now much better that before:
Stepan777 <stepik-777@mail.ru>
parents:
7180
diff
changeset
|
57 |
bool finished; |
13644
1b536e268519
Fix frontend crash when rapidly aborting many active video encodings. Fixes bug 595
Wuzzy <Wuzzy2@mail.ru>
parents:
11046
diff
changeset
|
58 |
bool aborted; |
7180 | 59 |
GameUIConfig * config; |
60 |
}; |
|
61 |
||
62 |
#endif // RECORDER_H |