Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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