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 
8 #include "libmythtv/mythtvexp.h"
9 
10 class RecordingRule;
11 
12 enum AVContainer : std::uint8_t
13 {
15  formatNUV = 1,
18 };
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; // avcodec_get_name
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 // RECORDING_FILE_H
RecordingFile::m_audioCodec
QString m_audioCodec
Definition: recordingfile.h:54
mythtvexp.h
RecordingRule
Internal representation of a recording rule, mirrors the record table.
Definition: recordingrule.h:28
RecordingFile
Holds information on a recording file and it's video and audio streams.
Definition: recordingfile.h:29
formatStr
QScriptValue formatStr(QScriptContext *context, QScriptEngine *interpreter)
Definition: serverSideScripting.cpp:31
AVContainer
AVContainer
Definition: recordingfile.h:12
programinfo.h
RecordingFile::m_videoResolution
QSize m_videoResolution
Definition: recordingfile.h:50
formatMPEG2_TS
@ formatMPEG2_TS
Definition: recordingfile.h:16
formatMPEG2_PS
@ formatMPEG2_PS
Definition: recordingfile.h:17
uint
unsigned int uint
Definition: compat.h:81
MTV_PUBLIC
#define MTV_PUBLIC
Definition: mythtvexp.h:15
RecordingFile::m_videoCodec
QString m_videoCodec
Definition: recordingfile.h:49
formatNUV
@ formatNUV
Definition: recordingfile.h:15
RecordingFile::m_fileName
QString m_fileName
Definition: recordingfile.h:44
formatUnknown
@ formatUnknown
Definition: recordingfile.h:14
RecordingFile::m_storageGroup
QString m_storageGroup
Definition: recordingfile.h:41
RecordingFile::m_storageDeviceID
QString m_storageDeviceID
Definition: recordingfile.h:40