15 if (
auto crtc = std::shared_ptr<MythDRMCrtc>(
new MythDRMCrtc(FD, Id, Index)); crtc.get() && crtc->m_id)
24 if (found != Crtcs.end())
34 for (
auto i = 0; i < resources->count_crtcs; ++i)
35 if (
auto crtc =
Create(FD, resources->crtcs[i], i); crtc.get())
36 result.emplace_back(crtc);
43 if (
auto * crtc = drmModeGetCrtc(FD, Id); crtc)
55 drmModeFreeCrtc(crtc);
67 for (
auto i = 0; i < resources->count_crtcs; ++i)
69 if (
auto * crtc = drmModeGetCrtc(FD, resources->crtcs[i]); crtc)
71 bool match = crtc->crtc_id == Id;
72 drmModeFreeCrtc(crtc);
static int RetrieveCRTCIndex(int FD, uint32_t Id)
static DRMCrtc Create(int FD, uint32_t Id, int Index=-1)
MythDRMCrtc(int FD, uint32_t Id, int Index)
static DRMCrtcs GetCrtcs(int FD)
static DRMCrtc GetCrtc(const DRMCrtcs &Crtcs, uint32_t Id)
static DRMMode Create(drmModeModeInfoPtr Mode, int Index)
static DRMProps GetProperties(int FD, uint32_t ObjectId, uint32_t ObjectType)
A simple wrapper around a drmModeResPtr that ensures proper cleanup.
static pid_list_t::iterator find(const PIDInfoMap &map, pid_list_t &list, pid_list_t::iterator begin, pid_list_t::iterator end, bool find_open)
std::shared_ptr< class MythDRMCrtc > DRMCrtc
std::vector< DRMCrtc > DRMCrtcs