Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
QmitkFFmpegWriter.h
Go to the documentation of this file.
1 /*===================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef QmitkFFmpegWriter_h
18 #define QmitkFFmpegWriter_h
19 
20 #include <QProcess>
21 #include <QSize>
22 
24 
26 {
27  Q_OBJECT
28 
29 public:
30  explicit QmitkFFmpegWriter(QObject *parent = nullptr);
32 
33  QString GetFFmpegPath() const;
34  void SetFFmpegPath(const QString &path);
35 
36  QSize GetSize() const;
37  void SetSize(const QSize &size);
38  void SetSize(int width, int height);
39 
40  int GetFramerate() const;
41  void SetFramerate(int framerate);
42 
43  QString GetOutputPath() const;
44  void SetOutputPath(const QString &path);
45 
46  void Start();
47  bool IsRunning() const;
48  void WriteFrame(const unsigned char *frame);
49  void Stop();
50 
51 private slots:
52  void OnProcessError(QProcess::ProcessError error);
53  void OnProcessFinished(int exitCode, QProcess::ExitStatus exitStatus);
54 
55 private:
56  QProcess *m_Process;
57  QString m_FFmpegPath;
58  QSize m_Size;
59  int m_Framerate;
60  QString m_OutputPath;
61  bool m_IsRunning;
62 };
63 
64 #endif
#define MITKQTWIDGETSEXT_EXPORT