13 if (
auto e = std::shared_ptr<MythDRMEncoder>(
new MythDRMEncoder(FD, Id)); e.get() && e->m_id)
21 auto match = [&Id](
const auto & Enc) {
return Enc->m_id == Id; };
32 for (
auto i = 0; i < resources->count_encoders; ++i)
33 if (
auto encoder =
Create(FD, resources->encoders[i]); encoder.get())
34 result.emplace_back(encoder);
41 if (
auto * encoder = drmModeGetEncoder(FD, Id); encoder)
43 m_id = encoder->encoder_id;
44 m_type = encoder->encoder_type;
47 drmModeFreeEncoder(encoder);
static DRMEncs GetEncoders(int FD)
MythDRMEncoder(int FD, uint32_t Id)
static DRMEnc Create(int FD, uint32_t Id)
static DRMEnc GetEncoder(const DRMEncs &Encoders, uint32_t Id)
A simple wrapper around a drmModeResPtr that ensures proper cleanup.
std::vector< uint32_t > Encoders
std::vector< DRMEnc > DRMEncs
std::shared_ptr< class MythDRMEncoder > DRMEnc