4#include "libmythbase/mythconfig.h"
8#if CONFIG_QTPRIVATEHEADERS
20using MythAtomic = std::tuple<uint32_t,uint32_t,uint64_t>;
28 static std::tuple<QString,QStringList> GetDeviceList();
29 static MythDRMPtr Create(QScreen *qScreen,
const QString&
Device = QString(),
bool NeedPlanes =
true);
32 bool Authenticated ()
const;
35 QString GetSerialNumber()
const;
36 QScreen* GetScreen ()
const;
37 QSize GetResolution ()
const;
38 QSize GetPhysicalSize()
const;
39 double GetRefreshRate ()
const;
44 bool CanSwitchModes ()
const;
45 bool SwitchMode (
int ModeIndex);
47#if CONFIG_QTPRIVATEHEADERS
48 static inline bool s_mythDRMVideo = qEnvironmentVariableIsSet(
"MYTHTV_DRM_VIDEO");
49 static inline bool s_planarRequested =
false;
50 static inline bool s_planarSetup =
false;
51 static inline QString s_mythDRMDevice = qEnvironmentVariable(
"MYTHTV_DRM_DEVICE");
52 static inline QString s_mythDRMConnector = qEnvironmentVariable(
"MYTHTV_DRM_CONNECTOR");
53 static inline QString s_mythDRMVideoMode = qEnvironmentVariable(
"MYTHTV_DRM_MODE");
54 static MythDRMPtr FindDevice(
bool NeedPlanes =
true);
58 bool QueueAtomics (
const MythAtomics& Atomics)
const;
59 void DisableVideoPlane();
60 void MainWindowReady ();
64 MythDRMDevice(
int Fd, uint32_t CrtcId, uint32_t ConnectorId,
bool Atomic);
67 void AnalysePlanes ();
81 QString FindBestDevice ();
82 static bool ConfirmDevice(
const QString&
Device);
84 bool m_valid {
false };
85 QScreen* m_screen {
nullptr };
87 bool m_openedDevice {
true };
89 bool m_atomic {
false };
90 bool m_authenticated {
false };
99 double m_refreshRate { 0.0 };
100 double m_adjustedRefreshRate { 0.0 };
102 LogLevel_t m_verbose { LOG_INFO };
A device containing images (ie. USB stick, CD, storage group etc)
Parent class for defining application command line parsers.
std::vector< DRMConn > DRMConns
std::shared_ptr< class MythDRMConnector > DRMConn
std::shared_ptr< class MythDRMCrtc > DRMCrtc
std::vector< DRMCrtc > DRMCrtcs
static constexpr const char * DRM_QUIET
std::tuple< uint32_t, uint32_t, uint64_t > MythAtomic
std::shared_ptr< class MythDRMDevice > MythDRMPtr
std::vector< MythAtomic > MythAtomics
std::vector< DRMEnc > DRMEncs
std::vector< DRMMode > DRMModes
std::vector< DRMPlane > DRMPlanes
std::shared_ptr< class MythDRMPlane > DRMPlane