Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
KODI::RETRO::CBaseRenderBufferPool Class Referenceabstract

#include <BaseRenderBufferPool.h>

Inheritance diagram for KODI::RETRO::CBaseRenderBufferPool:
KODI::RETRO::IRenderBufferPool KODI::RETRO::CRenderBufferPoolDMA KODI::RETRO::CRenderBufferPoolGuiTexture KODI::RETRO::CRenderBufferPoolOpenGL KODI::RETRO::CRenderBufferPoolOpenGLES KODI::RETRO::CWinRenderBufferPool

Public Member Functions

 CBaseRenderBufferPool ()=default
 
 ~CBaseRenderBufferPool () override
 
void RegisterRenderer (CRPBaseRenderer *renderer) override
 
void UnregisterRenderer (CRPBaseRenderer *renderer) override
 
bool HasVisibleRenderer () const override
 
bool Configure (AVPixelFormat format) override
 
bool IsConfigured () const override
 
IRenderBufferGetBuffer (unsigned int width, unsigned int height) override
 Get a free buffer from the pool, sets ref count to 1.
 
void Return (IRenderBuffer *buffer) override
 Called by buffer when ref count goes to zero.
 
void Prime (unsigned int width, unsigned int height) override
 
void Flush () override
 
AVPixelFormat Format () const
 
- Public Member Functions inherited from KODI::RETRO::IRenderBufferPool
virtual ~IRenderBufferPool ()=default
 
virtual bool IsCompatible (const CRenderVideoSettings &renderSettings) const =0
 
virtual DataAccess GetMemoryAccess () const
 
virtual DataAlignment GetMemoryAlignment () const
 
virtual std::shared_ptr< IRenderBufferPoolGetPtr ()
 Call in GetBuffer() before returning buffer to caller.
 

Protected Member Functions

virtual IRenderBufferCreateRenderBuffer (void *header=nullptr)=0
 
virtual bool ConfigureInternal ()
 
virtual voidGetHeader (unsigned int timeoutMs=0)
 
virtual bool GetHeaderWithTimeout (void *&header)
 
virtual bool SendBuffer (IRenderBuffer *buffer)
 

Protected Attributes

bool m_bConfigured = false
 
AVPixelFormat m_format = AV_PIX_FMT_NONE
 

Constructor & Destructor Documentation

◆ CBaseRenderBufferPool()

KODI::RETRO::CBaseRenderBufferPool::CBaseRenderBufferPool ( )
default

◆ ~CBaseRenderBufferPool()

CBaseRenderBufferPool::~CBaseRenderBufferPool ( )
override

Member Function Documentation

◆ Configure()

bool CBaseRenderBufferPool::Configure ( AVPixelFormat format)
overridevirtual

◆ ConfigureInternal()

virtual bool KODI::RETRO::CBaseRenderBufferPool::ConfigureInternal ( )
inlineprotectedvirtual

◆ CreateRenderBuffer()

virtual IRenderBuffer * KODI::RETRO::CBaseRenderBufferPool::CreateRenderBuffer ( void * header = nullptr)
protectedpure virtual

◆ Flush()

void CBaseRenderBufferPool::Flush ( )
overridevirtual

◆ Format()

AVPixelFormat KODI::RETRO::CBaseRenderBufferPool::Format ( ) const
inline

◆ GetBuffer()

IRenderBuffer * CBaseRenderBufferPool::GetBuffer ( unsigned int width,
unsigned int height )
overridevirtual

Get a free buffer from the pool, sets ref count to 1.

Parameters
widthThe horizontal pixel count of the buffer
heightThe vertical pixel could of the buffer
Returns
The allocated buffer, or nullptr on failure

Implements KODI::RETRO::IRenderBufferPool.

◆ GetHeader()

virtual void * KODI::RETRO::CBaseRenderBufferPool::GetHeader ( unsigned int timeoutMs = 0)
inlineprotectedvirtual

◆ GetHeaderWithTimeout()

virtual bool KODI::RETRO::CBaseRenderBufferPool::GetHeaderWithTimeout ( void *& header)
inlineprotectedvirtual

◆ HasVisibleRenderer()

bool CBaseRenderBufferPool::HasVisibleRenderer ( ) const
overridevirtual

◆ IsConfigured()

bool KODI::RETRO::CBaseRenderBufferPool::IsConfigured ( ) const
inlineoverridevirtual

◆ Prime()

void CBaseRenderBufferPool::Prime ( unsigned int width,
unsigned int height )
overridevirtual

◆ RegisterRenderer()

void CBaseRenderBufferPool::RegisterRenderer ( CRPBaseRenderer * renderer)
overridevirtual

◆ Return()

void CBaseRenderBufferPool::Return ( IRenderBuffer * buffer)
overridevirtual

Called by buffer when ref count goes to zero.

Parameters
bufferA fully dereferenced buffer

Implements KODI::RETRO::IRenderBufferPool.

◆ SendBuffer()

virtual bool KODI::RETRO::CBaseRenderBufferPool::SendBuffer ( IRenderBuffer * buffer)
inlineprotectedvirtual

◆ UnregisterRenderer()

void CBaseRenderBufferPool::UnregisterRenderer ( CRPBaseRenderer * renderer)
overridevirtual

Member Data Documentation

◆ m_bConfigured

bool KODI::RETRO::CBaseRenderBufferPool::m_bConfigured = false
protected

◆ m_format

AVPixelFormat KODI::RETRO::CBaseRenderBufferPool::m_format = AV_PIX_FMT_NONE
protected

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