My Project
MMAL_BUFFER_HEADER_PRIVATE_T Struct Reference

#include <mmal_buffer_private.h>

Public Attributes

MMAL_BH_PRE_RELEASE_CB_T pf_pre_release
 
void * pre_release_userdata
 
void(* pf_release )(struct MMAL_BUFFER_HEADER_T *header)
 
void * owner
 
int32_t refcount
 
MMAL_BUFFER_HEADER_Treference
 
void(* pf_payload_free )(void *payload_context, void *payload)
 
void * payload
 
void * payload_context
 
uint32_t payload_size
 
void * component_data
 
void * payload_handle
 
uint8_t driver_area [MMAL_DRIVER_BUFFER_SIZE]
 

Detailed Description

Typedef for the framework's private area in the buffer header

Definition at line 38 of file mmal_buffer_private.h.

Member Data Documentation

◆ component_data

void* MMAL_BUFFER_HEADER_PRIVATE_T::component_data

Field reserved for use by the component

Definition at line 63 of file mmal_buffer_private.h.

◆ driver_area

uint8_t MMAL_BUFFER_HEADER_PRIVATE_T::driver_area[MMAL_DRIVER_BUFFER_SIZE]

Definition at line 66 of file mmal_buffer_private.h.

◆ owner

void* MMAL_BUFFER_HEADER_PRIVATE_T::owner

Context set by the allocator of the buffer header and passed during the release callback

Definition at line 48 of file mmal_buffer_private.h.

◆ payload

void* MMAL_BUFFER_HEADER_PRIVATE_T::payload

Pointer / handle to the allocated payload buffer

Definition at line 59 of file mmal_buffer_private.h.

◆ payload_context

void* MMAL_BUFFER_HEADER_PRIVATE_T::payload_context

Pointer to the context of the payload allocator

Definition at line 60 of file mmal_buffer_private.h.

◆ payload_handle

void* MMAL_BUFFER_HEADER_PRIVATE_T::payload_handle

Field reserved for mmal_buffer_header_mem_lock

Definition at line 64 of file mmal_buffer_private.h.

◆ payload_size

uint32_t MMAL_BUFFER_HEADER_PRIVATE_T::payload_size

Allocated size in bytes of payload buffer

Definition at line 61 of file mmal_buffer_private.h.

◆ pf_payload_free

void(* MMAL_BUFFER_HEADER_PRIVATE_T::pf_payload_free) (void *payload_context, void *payload)

Callback used to free the payload associated with this buffer header. This is only used if the buffer header was created by MMAL with a payload associated with it.

Definition at line 58 of file mmal_buffer_private.h.

◆ pf_pre_release

MMAL_BH_PRE_RELEASE_CB_T MMAL_BUFFER_HEADER_PRIVATE_T::pf_pre_release

Callback invoked just prior to actually releasing the buffer header. Returns TRUE if release should be delayed.

Definition at line 42 of file mmal_buffer_private.h.

◆ pf_release

void(* MMAL_BUFFER_HEADER_PRIVATE_T::pf_release) (struct MMAL_BUFFER_HEADER_T *header)

Callback used to release / recycle the buffer header. This needs to be set by whoever allocates the buffer header.

Definition at line 47 of file mmal_buffer_private.h.

◆ pre_release_userdata

void* MMAL_BUFFER_HEADER_PRIVATE_T::pre_release_userdata

Definition at line 43 of file mmal_buffer_private.h.

◆ refcount

int32_t MMAL_BUFFER_HEADER_PRIVATE_T::refcount

Reference count of the buffer header. When it reaches 0, the release callback will be called.

Definition at line 51 of file mmal_buffer_private.h.

◆ reference

MMAL_BUFFER_HEADER_T* MMAL_BUFFER_HEADER_PRIVATE_T::reference

Reference to another acquired buffer header.

Definition at line 54 of file mmal_buffer_private.h.


The documentation for this struct was generated from the following file: