MythTV  master
recordingfile.h
Go to the documentation of this file.
1 #ifndef _RECORDING_FILE_H_
2 #define _RECORDING_FILE_H_
3 
4 #include <QString>
5 #include <QSize>
6 
7 #include "mythtvexp.h"
8 #include "programinfo.h"
9 
10 class RecordingRule;
11 
12 typedef enum AVContainerFormats
13 {
15  formatNUV = 1,
18 } AVContainer;
19 
30 {
31  public:
32  RecordingFile() = default;
33  ~RecordingFile() = default;
34 
35  bool Load();
36  bool Save();
37 
38  uint m_recordingId {0};
39 
40  QString m_storageDeviceID; // aka Hostname in old parlance
41  QString m_storageGroup;
42 
43  uint m_fileId {0};
44  QString m_fileName;
45  uint64_t m_fileSize {0};
46 
47  AVContainer m_containerFormat {formatUnknown};
48 
49  QString m_videoCodec; // ff_codec_id_string
51  double m_videoAspectRatio {0.0};
52  double m_videoFrameRate {0.0};
53 
54  QString m_audioCodec; // Main audio stream or best quality stream?
55  int m_audioChannels {0};
56  double m_audioSampleRate {0.0};
57  int m_audioBitrate {0};
58 
59  static QString AVContainerToString(AVContainer format);
60  static AVContainer AVContainerFromString(const QString &formatStr);
61 };
62 
63 #endif
QString m_fileName
Definition: recordingfile.h:44
QSize m_videoResolution
Definition: recordingfile.h:50
QString m_storageGroup
Definition: recordingfile.h:41
enum AVContainerFormats AVContainer
unsigned int uint
Definition: compat.h:140
QScriptValue formatStr(QScriptContext *context, QScriptEngine *interpreter)
QString m_audioCodec
Definition: recordingfile.h:54
QString m_videoCodec
Definition: recordingfile.h:49
#define MTV_PUBLIC
Definition: mythtvexp.h:15
QString m_storageDeviceID
Definition: recordingfile.h:40
Internal representation of a recording rule, mirrors the record table.
Definition: recordingrule.h:32
Holds information on a recording file and it's video and audio streams.
Definition: recordingfile.h:29
AVContainerFormats
Definition: recordingfile.h:12