1 #ifndef MYTHDRMDEVICE_H
2 #define MYTHDRMDEVICE_H
7 #if defined (USING_QTPRIVATEHEADERS)
19 using MythAtomic = std::tuple<uint32_t,uint32_t,uint64_t>;
27 static std::tuple<QString,QStringList> GetDeviceList();
28 static MythDRMPtr Create(QScreen *qScreen,
const QString&
Device = QString(),
bool NeedPlanes =
true);
31 bool Authenticated ()
const;
34 QString GetSerialNumber()
const;
35 QScreen* GetScreen ()
const;
36 QSize GetResolution ()
const;
37 QSize GetPhysicalSize()
const;
38 double GetRefreshRate ()
const;
43 bool CanSwitchModes ()
const;
44 bool SwitchMode (
int ModeIndex);
46 #if defined (USING_QTPRIVATEHEADERS)
47 static inline bool s_mythDRMVideo = qEnvironmentVariableIsSet(
"MYTHTV_DRM_VIDEO");
48 static inline bool s_planarRequested =
false;
49 static inline bool s_planarSetup =
false;
50 static inline QString s_mythDRMDevice = qEnvironmentVariable(
"MYTHTV_DRM_DEVICE");
51 static inline QString s_mythDRMConnector = qEnvironmentVariable(
"MYTHTV_DRM_CONNECTOR");
52 static inline QString s_mythDRMVideoMode = qEnvironmentVariable(
"MYTHTV_DRM_MODE");
53 static MythDRMPtr FindDevice(
bool NeedPlanes =
true);
57 bool QueueAtomics (
const MythAtomics& Atomics)
const;
58 void DisableVideoPlane();
59 void MainWindowReady ();
63 MythDRMDevice(
int Fd, uint32_t CrtcId, uint32_t ConnectorId,
bool Atomic);
66 void AnalysePlanes ();
80 QString FindBestDevice ();
81 static bool ConfirmDevice(
const QString&
Device);
83 bool m_valid {
false };
84 QScreen* m_screen {
nullptr };
85 QString m_deviceName { };
86 bool m_openedDevice {
true };
88 bool m_atomic {
false };
89 bool m_authenticated {
false };
96 QSize m_resolution { };
97 QSize m_physicalSize { };
98 double m_refreshRate { 0.0 };
99 double m_adjustedRefreshRate { 0.0 };
100 QString m_serialNumber { };
101 LogLevel_t m_verbose { LOG_INFO };