MythTV master
bluraymetadata.h
Go to the documentation of this file.
1#ifndef BLURAYMETADATA_H_
2#define BLURAYMETADATA_H_
3
4#include <utility>
5
6#include "libmythbase/mythconfig.h"
7
8#if HAVE_LIBBLURAY
9#include <libbluray/bluray.h>
10#else
11#include "libbluray/bluray.h"
12#endif
13
14// Qt headers
15#include <QCoreApplication> // for Q_DECLARE_TR_FUNCTIONS
16#include <QList>
17#include <QPair>
18#include <QString>
19
20// MythTV headers
22#include "mythmetaexp.h"
23
24using BlurayTitles = QList< QPair < uint,QString > >;
25
26struct meta_dl;
27class META_PUBLIC BlurayMetadata : public QObject
28{
30
31 public:
32 explicit BlurayMetadata(QString path)
33 : m_path(std::move(path)) {}
34 ~BlurayMetadata() override;
35
36 void toMap(InfoMap &metadataMap);
37
38 bool OpenDisc(void);
39 bool IsOpen() { return m_bdnav; };
40 bool ParseDisc(void);
41
42 QString GetTitle(void) { return m_title; };
43 QString GetAlternateTitle(void) { return m_alttitle; };
44 QString GetDiscLanguage(void) { return m_language; };
45
46 uint GetCurrentDiscNumber(void) const { return m_discnumber; };
47 uint GetTotalDiscNumber(void) const { return m_disctotal; };
48
49 uint GetTitleCount(void) { return m_titles.count(); };
50 BlurayTitles GetTitles(void) { return m_titles; };
51
52 uint GetThumbnailCount(void) { return m_images.count(); };
53 QStringList GetThumbnails(void) {return m_images; };
54
55 bool GetTopMenuSupported(void) const { return m_topMenuSupported; };
56 bool GetFirstPlaySupported(void) const { return m_firstPlaySupported; };
57
58 uint32_t GetNumHDMVTitles(void) const { return m_numHDMVTitles; };
59 uint32_t GetNumBDJTitles(void) const { return m_numBDJTitles; };
60 uint32_t GetNumUnsupportedTitles(void) const { return m_numUnsupportedTitles; };
61
62 bool GetAACSDetected(void) const { return m_aacsDetected; };
63 bool GetLibAACSDetected(void) const { return m_libaacsDetected; };
64 bool GetAACSHandled(void) const { return m_aacsHandled; };
65
66 bool GetBDPlusDetected(void) const { return m_bdplusDetected; };
67 bool GetLibBDPlusDetected(void) const { return m_libbdplusDetected; };
68 bool GetBDPlusHandled(void) const { return m_bdplusHandled; };
69
70 private:
71 BLURAY *m_bdnav {nullptr};
72
73 QString m_title;
74 QString m_alttitle;
75 QString m_language;
76
77 uint m_discnumber {0};
78 uint m_disctotal {0};
79
80 QString m_path;
81
83 QStringList m_images;
84
85 bool m_topMenuSupported {false};
86 bool m_firstPlaySupported {false};
87 uint32_t m_numHDMVTitles {0};
88 uint32_t m_numBDJTitles {0};
89 uint32_t m_numUnsupportedTitles {0};
90 bool m_aacsDetected {false};
91 bool m_libaacsDetected {false};
92 bool m_aacsHandled {false};
93 bool m_bdplusDetected {false};
94 bool m_libbdplusDetected {false};
95 bool m_bdplusHandled {false};
96};
97
98#endif
QList< QPair< uint, QString > > BlurayTitles
BlurayMetadata(QString path)
QStringList m_images
uint32_t GetNumBDJTitles(void) const
QString GetAlternateTitle(void)
uint GetThumbnailCount(void)
uint32_t GetNumUnsupportedTitles(void) const
BlurayTitles GetTitles(void)
uint32_t GetNumHDMVTitles(void) const
bool GetBDPlusHandled(void) const
bool GetBDPlusDetected(void) const
uint GetTitleCount(void)
bool GetFirstPlaySupported(void) const
bool GetAACSDetected(void) const
uint GetTotalDiscNumber(void) const
BlurayTitles m_titles
bool GetLibBDPlusDetected(void) const
QString GetTitle(void)
QString GetDiscLanguage(void)
bool GetAACSHandled(void) const
Q_DECLARE_TR_FUNCTIONS(BlurayMetadata)
uint GetCurrentDiscNumber(void) const
bool GetTopMenuSupported(void) const
bool GetLibAACSDetected(void) const
QStringList GetThumbnails(void)
QString m_language
QString m_alttitle
unsigned int uint
Definition: compat.h:60
#define META_PUBLIC
Definition: mythmetaexp.h:9
QHash< QString, QString > InfoMap
Definition: mythtypes.h:15