MythTV  master
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
MythMediaCodecInterop Class Reference

#include <mythmediacodecinterop.h>

Inheritance diagram for MythMediaCodecInterop:
Inheritance graph
[legend]
Collaboration diagram for MythMediaCodecInterop:
Collaboration graph
[legend]

Public Member Functions

virtual std::vector< MythVideoTextureOpenGL * > Acquire (MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan) override
 
void * GetSurface (void)
 
- Public Member Functions inherited from MythOpenGLInterop
 ~MythOpenGLInterop () override
 
- Public Member Functions inherited from MythInteropGPU
 MythInteropGPU (MythRender *Context, InteropType Type, MythPlayerUI *Player=nullptr)
 
 ~MythInteropGPU () override
 
InteropType GetType ()
 
MythPlayerUIGetPlayer ()
 
void SetDefaultFree (FreeAVHWDeviceContext FreeContext)
 
void SetDefaultUserOpaque (void *UserOpaque)
 
FreeAVHWDeviceContext GetDefaultFree ()
 
void * GetDefaultUserOpaque ()
 
- Public Member Functions inherited from ReferenceCounter
 ReferenceCounter (const QString &debugName, bool logDebug=true)
 Creates reference counter with an initial value of 1. More...
 
virtual int IncrRef (void)
 Increments reference count. More...
 
virtual int DecrRef (void)
 Decrements reference count and deletes on 0. More...
 

Static Public Member Functions

static MythMediaCodecInteropCreateMediaCodec (MythPlayerUI *Player, MythRenderOpenGL *Context, QSize Size)
 
- Static Public Member Functions inherited from MythOpenGLInterop
static void GetTypes (MythRender *Render, MythInteropGPU::InteropMap &Types)
 
static std::vector< MythVideoTextureOpenGL * > Retrieve (MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan)
 
- Static Public Member Functions inherited from MythInteropGPU
static InteropMap GetTypes (MythRender *Render)
 
static QString TypeToString (InteropType Type)
 
static QString TypesToString (const InteropMap &Types)
 
static MythInteropGPUCreateDummy ()
 
- Static Public Member Functions inherited from ReferenceCounter
static void PrintDebug (void)
 Print out any leaks if that level of debugging is enabled. More...
 

Protected Member Functions

 MythMediaCodecInterop (MythPlayerUI *Player, MythRenderOpenGL *Context)
 
 ~MythMediaCodecInterop () override
 
bool Initialise (QSize Size)
 
- Protected Member Functions inherited from MythOpenGLInterop
 MythOpenGLInterop (MythRenderOpenGL *Context, InteropType Type, MythPlayerUI *Player=nullptr)
 
virtual void DeleteTextures ()
 
- Protected Member Functions inherited from ReferenceCounter
virtual ~ReferenceCounter (void)
 Called on destruction, will warn if object deleted with references in place. More...
 

Private Attributes

QWaitCondition m_frameWait
 
QMutex m_frameWaitLock
 
bool m_colourSpaceInitialised
 
QAndroidJniObject m_surface
 
QAndroidJniObject m_surfaceTexture
 
QAndroidJniObject m_surfaceListener
 
jfloatArray m_textureTransform
 
QMatrix4x4 m_transform
 

Additional Inherited Members

- Public Types inherited from MythInteropGPU
enum  InteropType {
  Unsupported = 0, GL_VAAPIGLXCOPY, GL_VAAPIGLXPIX, GL_VAAPIEGLDRM,
  GL_VTB, GL_VTBSURFACE, GL_MEDIACODEC, GL_VDPAU,
  GL_NVDEC, GL_MMAL, GL_DRMPRIME, DRM_DRMPRIME,
  DUMMY
}
 
using InteropTypes = std::vector< InteropType >
 
using InteropMap = std::map< VideoFrameType, InteropTypes >
 
- Protected Attributes inherited from MythOpenGLInterop
MythRenderOpenGLm_openglContext { nullptr }
 
QHash< unsigned long long, std::vector< MythVideoTextureOpenGL * > > m_openglTextures
 
- Protected Attributes inherited from MythInteropGPU
MythRenderm_context { nullptr }
 
QSize m_textureSize { }
 
uint64_t m_discontinuityCounter { 0 }
 
FreeAVHWDeviceContext m_defaultFree { nullptr }
 
void * m_defaultUserOpaque { nullptr }
 
MythPlayerUIm_player { nullptr }
 
InteropType m_type { Unsupported }
 
- Protected Attributes inherited from ReferenceCounter
bool m_logDebug
 This is used to suppress creating LoggingItem classes for LoggingItem reference count changes. More...
 
QAtomicInt m_referenceCount {1}
 

Detailed Description

Definition at line 21 of file mythmediacodecinterop.h.

Constructor & Destructor Documentation

◆ MythMediaCodecInterop()

MythMediaCodecInterop::MythMediaCodecInterop ( MythPlayerUI Player,
MythRenderOpenGL Context 
)
protected

Definition at line 30 of file mythmediacodecinterop.cpp.

Referenced by CreateMediaCodec().

◆ ~MythMediaCodecInterop()

MythMediaCodecInterop::~MythMediaCodecInterop ( )
overrideprotected

Definition at line 46 of file mythmediacodecinterop.cpp.

Member Function Documentation

◆ CreateMediaCodec()

MythMediaCodecInterop * MythMediaCodecInterop::CreateMediaCodec ( MythPlayerUI Player,
MythRenderOpenGL Context,
QSize  Size 
)
static

Definition at line 14 of file mythmediacodecinterop.cpp.

Referenced by MythMediaCodecContext::InitialiseDecoder().

◆ Acquire()

std::vector< MythVideoTextureOpenGL * > MythMediaCodecInterop::Acquire ( MythRenderOpenGL Context,
MythVideoColourSpace ColourSpace,
MythVideoFrame Frame,
FrameScanType  Scan 
)
overridevirtual

Reimplemented from MythOpenGLInterop.

Definition at line 117 of file mythmediacodecinterop.cpp.

◆ GetSurface()

void * MythMediaCodecInterop::GetSurface ( void  )

Definition at line 51 of file mythmediacodecinterop.cpp.

◆ Initialise()

bool MythMediaCodecInterop::Initialise ( QSize  Size)
protected

Definition at line 63 of file mythmediacodecinterop.cpp.

Member Data Documentation

◆ m_frameWait

QWaitCondition MythMediaCodecInterop::m_frameWait
private

Definition at line 36 of file mythmediacodecinterop.h.

Referenced by Acquire(), and Initialise().

◆ m_frameWaitLock

QMutex MythMediaCodecInterop::m_frameWaitLock
private

Definition at line 37 of file mythmediacodecinterop.h.

Referenced by Acquire().

◆ m_colourSpaceInitialised

bool MythMediaCodecInterop::m_colourSpaceInitialised
private

Definition at line 38 of file mythmediacodecinterop.h.

Referenced by Acquire().

◆ m_surface

QAndroidJniObject MythMediaCodecInterop::m_surface
private

Definition at line 39 of file mythmediacodecinterop.h.

Referenced by GetSurface(), and Initialise().

◆ m_surfaceTexture

QAndroidJniObject MythMediaCodecInterop::m_surfaceTexture
private

Definition at line 40 of file mythmediacodecinterop.h.

Referenced by Acquire(), and Initialise().

◆ m_surfaceListener

QAndroidJniObject MythMediaCodecInterop::m_surfaceListener
private

Definition at line 41 of file mythmediacodecinterop.h.

Referenced by Initialise().

◆ m_textureTransform

jfloatArray MythMediaCodecInterop::m_textureTransform
private

Definition at line 42 of file mythmediacodecinterop.h.

Referenced by Acquire(), MythMediaCodecInterop(), and ~MythMediaCodecInterop().

◆ m_transform

QMatrix4x4 MythMediaCodecInterop::m_transform
private

Definition at line 43 of file mythmediacodecinterop.h.

Referenced by Acquire().


The documentation for this class was generated from the following files: