MythTV  master
mythvideodrmbuffer.h
Go to the documentation of this file.
1 #ifndef MYTHVIDEODRMBUFFER_H
2 #define MYTHVIDEODRMBUFFER_H
3 
4 // MythTV
6 
7 // Std
8 #include <memory>
9 
10 // FFmpeg
11 extern "C" {
12 #include "libavutil/hwcontext_drm.h"
13 #include "libavutil/mem.h"
14 }
15 
16 using DRMHandle = std::shared_ptr<class MythVideoDRMBuffer>;
17 
19 {
20  public:
21  static DRMHandle Create(MythDRMPtr Device, AVDRMFrameDescriptor* DRMDesc, QSize Size);
23  uint32_t GetFB() const;
24 
25  protected:
26  MythVideoDRMBuffer(MythDRMPtr Device, AVDRMFrameDescriptor* DRMDesc, QSize Size);
27 
28  bool m_valid { false };
29  MythDRMPtr m_device { nullptr };
30  uint32_t m_fb { 0 };
32 };
33 
34 #endif
MythVideoDRMBuffer::m_handles
DRMArray m_handles
Definition: mythvideodrmbuffer.h:31
Device
A device containing images (ie. USB stick, CD, storage group etc)
Definition: imagemanager.cpp:35
MythVideoDRMBuffer::m_valid
bool m_valid
Definition: mythvideodrmbuffer.h:28
MythVideoDRMBuffer::~MythVideoDRMBuffer
~MythVideoDRMBuffer()
Definition: mythvideodrmbuffer.cpp:138
MythVideoDRMBuffer::m_device
MythDRMPtr m_device
Definition: mythvideodrmbuffer.h:29
MythDRMPtr
std::shared_ptr< class MythDRMDevice > MythDRMPtr
Definition: mythdrmdevice.h:18
MythVideoDRMBuffer
Definition: mythvideodrmbuffer.h:18
DRMHandle
std::shared_ptr< class MythVideoDRMBuffer > DRMHandle
Definition: mythvideodrmbuffer.h:16
MythVideoDRMBuffer::Create
static DRMHandle Create(MythDRMPtr Device, AVDRMFrameDescriptor *DRMDesc, QSize Size)
Definition: mythvideodrmbuffer.cpp:34
mythdrmdevice.h
MythVideoDRMBuffer::m_fb
uint32_t m_fb
Definition: mythvideodrmbuffer.h:30
MythVideoDRMBuffer::GetFB
uint32_t GetFB() const
Definition: mythvideodrmbuffer.cpp:155
MythVideoDRMBuffer::MythVideoDRMBuffer
MythVideoDRMBuffer(MythDRMPtr Device, AVDRMFrameDescriptor *DRMDesc, QSize Size)
Definition: mythvideodrmbuffer.cpp:42
DRMArray
std::array< uint32_t, 4 > DRMArray
Definition: mythdrmresources.h:22