Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
|
#include <GBMBufferObject.h>
Public Member Functions | |
CGBMBufferObject () | |
~CGBMBufferObject () override | |
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. | |
void | DestroyBufferObject () override |
Destroy a BufferObject. | |
uint8_t * | GetMemory () override |
Get the Memory location of the BufferObject. This method needs to be called to be able to copy data into the BufferObject. | |
void | ReleaseMemory () override |
Release the mapped memory of the BufferObject. After calling this the memory location pointed to by GetMemory() will be invalid. | |
std::string | GetName () const override |
Get the Name of the BufferObject type in use. | |
uint64_t | GetModifier () override |
Get the Modifier of the BufferObject. Format Modifiers further describe the buffer's format such as for tiling or compression. see https://github.com/torvalds/linux/blob/master/include/uapi/drm/drm_fourcc.h. | |
Public Member Functions inherited from CBufferObject | |
bool | CreateBufferObject (uint64_t size) override |
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. | |
int | GetFd () override |
Get the File Descriptor of the BufferObject. The fd is guaranteed to be available after calling CreateBufferObject(). | |
uint32_t | GetStride () override |
Get the Stride of the BufferObject. The stride is guaranteed to be available after calling GetMemory(). | |
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. | |
Public Member Functions inherited from IBufferObject | |
virtual | ~IBufferObject ()=default |
Static Public Member Functions | |
static std::unique_ptr< CBufferObject > | Create () |
static void | Register () |
Static Public Member Functions inherited from CBufferObject | |
static std::unique_ptr< CBufferObject > | GetBufferObject (bool needsCreateBySize) |
Get a BufferObject from CBufferObjectFactory. | |
Additional Inherited Members | |
Protected Attributes inherited from CBufferObject | |
int | m_fd {-1} |
uint32_t | m_stride {0} |
CGBMBufferObject::CGBMBufferObject | ( | ) |
|
override |
|
static |
|
overridevirtual |
Create a BufferObject based on the format, width, and height of the desired buffer.
format | framebuffer pixel formats are described using the fourcc codes defined in https://github.com/torvalds/linux/blob/master/include/uapi/drm/drm_fourcc.h |
width | width of the requested buffer. |
height | height of the requested buffer. |
Implements CBufferObject.
|
overridevirtual |
Destroy a BufferObject.
Implements IBufferObject.
|
overridevirtual |
Get the Memory location of the BufferObject. This method needs to be called to be able to copy data into the BufferObject.
Implements IBufferObject.
|
overridevirtual |
Get the Modifier of the BufferObject. Format Modifiers further describe the buffer's format such as for tiling or compression. see https://github.com/torvalds/linux/blob/master/include/uapi/drm/drm_fourcc.h.
Reimplemented from CBufferObject.
|
inlineoverridevirtual |
Get the Name of the BufferObject type in use.
Implements IBufferObject.
|
static |
|
overridevirtual |
Release the mapped memory of the BufferObject. After calling this the memory location pointed to by GetMemory() will be invalid.
Implements IBufferObject.