Go to the documentation of this file.
2 #include <QGuiApplication>
3 #include <qpa/qplatformnativeinterface.h>
18 #define LOC QString("DRMVideo: ")
21 : m_colourSpace(ColourSpace)
43 LOG(VB_GENERAL, LOG_INFO,
LOC + QString(
"Using Plane #%1 for video").arg(
m_videoPlane->m_id));
61 LOG(VB_GENERAL, LOG_ERR,
LOC +
"Failed to setup DRM video");
67 LOG(VB_GENERAL, LOG_INFO,
LOC +
"Closing");
86 queue.emplace_back(
m_videoPlane->m_id, range->m_id, rangev);
92 queue.emplace_back(
m_videoPlane->m_id, encoding->m_id, encv);
104 if (!(DRMDesc &&
Frame))
121 Frame->m_displayed =
true;
virtual int DecrRef(void)
Decrements reference count and deletes on 0.
static uint64_t FFmpegColorEncodingToDRM(const DRMProp &Property, int Encoding)
int GetColourSpace() const
static uint64_t FFmpegColorRangeToDRM(const DRMProp &Property, int Range)
void SetSupportedAttributes(PictureAttributeSupported Supported)
Enable the given set of picture attributes.
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
MythVideoDRM(MythVideoColourSpace *ColourSpace)
bool HasMythMainWindow(void)
@ kPictureAttributeSupported_None
static DRMProp GetProperty(const QString &Name, const DRMProps &Properties)
void ColourSpaceUpdated(bool)
bool RenderFrame(AVDRMFrameDescriptor *DRMDesc, MythVideoFrame *Frame)
QMap< AVDRMFrameDescriptor *, DRMHandle > m_handles
MythVideoColourSpace * m_colourSpace
void Updated(bool PrimariesChanged)
MythMainWindow * GetMythMainWindow(void)
static DRMHandle Create(MythDRMPtr Device, AVDRMFrameDescriptor *DRMDesc, QSize Size)
std::vector< MythAtomic > MythAtomics
virtual int IncrRef(void)
Increments reference count.
MythVideoColourSpace contains a QMatrix4x4 that can convert YCbCr data to RGB.