kodi
Public Member Functions | Static Public Member Functions | List of all members
CDumbBufferObject Class Reference
Inheritance diagram for CDumbBufferObject:
Inheritance graph
[legend]
Collaboration diagram for CDumbBufferObject:
Collaboration graph
[legend]

Public Member Functions

bool CreateBufferObject (uint32_t format, uint32_t width, uint32_t height) override
 Create a BufferObject based on the format, width, and height of the desired buffer. More...
 
void DestroyBufferObject () override
 Destroy a BufferObject.
 
uint8_t * GetMemory () override
 Get the Memory location of the BufferObject. More...
 
void ReleaseMemory () override
 Release the mapped memory of the BufferObject. More...
 
std::string GetName () const override
 Get the Name of the BufferObject type in use. More...
 
- Public Member Functions inherited from CBufferObject
bool CreateBufferObject (uint64_t size) override
 Create a BufferObject based only on the size of the desired buffer. More...
 
int GetFd () override
 Get the File Descriptor of the BufferObject. More...
 
uint32_t GetStride () override
 Get the Stride of the BufferObject. More...
 
uint64_t GetModifier () override
 Get the Modifier of the BufferObject. More...
 
void SyncStart () override
 Must be called before reading/writing data to the BufferObject.
 
void SyncEnd () override
 Must be called after reading/writing data to the BufferObject.
 

Static Public Member Functions

static std::unique_ptr< CBufferObjectCreate ()
 
static void Register ()
 
- Static Public Member Functions inherited from CBufferObject
static std::unique_ptr< CBufferObjectGetBufferObject (bool needsCreateBySize)
 Get a BufferObject from CBufferObjectFactory. More...
 

Additional Inherited Members

- Protected Attributes inherited from CBufferObject
int m_fd {-1}
 
uint32_t m_stride {0}
 

Member Function Documentation

◆ CreateBufferObject()

bool CDumbBufferObject::CreateBufferObject ( uint32_t  format,
uint32_t  width,
uint32_t  height 
)
overridevirtual

Create a BufferObject based on the format, width, and height of the desired buffer.

Parameters
formatframebuffer pixel formats are described using the fourcc codes defined in https://github.com/torvalds/linux/blob/master/include/uapi/drm/drm_fourcc.h
widthwidth of the requested buffer.
heightheight of the requested buffer.
Returns
true BufferObject creation was successful.
false BufferObject creation was unsuccessful.

Implements CBufferObject.

◆ GetMemory()

uint8_t * CDumbBufferObject::GetMemory ( )
overridevirtual

Get the Memory location of the BufferObject.

This method needs to be called to be able to copy data into the BufferObject.

Returns
uint8_t* pointer to the memory location of the BufferObject.

Implements IBufferObject.

◆ GetName()

std::string CDumbBufferObject::GetName ( ) const
inlineoverridevirtual

Get the Name of the BufferObject type in use.

Returns
std::string name of the BufferObject type in use

Implements IBufferObject.

◆ ReleaseMemory()

void CDumbBufferObject::ReleaseMemory ( )
overridevirtual

Release the mapped memory of the BufferObject.

After calling this the memory location pointed to by GetMemory() will be invalid.

Implements IBufferObject.


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