kodi
Public Member Functions | Static Public Member Functions | List of all members
CDMAHeapBufferObject Class Reference
Inheritance diagram for CDMAHeapBufferObject:
Inheritance graph
[legend]
Collaboration diagram for CDMAHeapBufferObject:
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...
 
bool CreateBufferObject (uint64_t size) override
 Create a BufferObject based only on the size 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
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() [1/2]

bool CDMAHeapBufferObject::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.

◆ CreateBufferObject() [2/2]

bool CDMAHeapBufferObject::CreateBufferObject ( uint64_t  size)
overridevirtual

Create a BufferObject based only on the size of the desired buffer.

Not all CBufferObject implementations may support this. This method is required for use with the CAddonVideoCodec as it only knows the decoded buffer size.

Parameters
sizeof the requested buffer.
Returns
true BufferObject creation was successful.
false BufferObject creation was unsuccessful.

Reimplemented from CBufferObject.

◆ GetMemory()

uint8_t * CDMAHeapBufferObject::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 CDMAHeapBufferObject::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 CDMAHeapBufferObject::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: