FIFO interface for frame displaying. More...
Frame queue manipulation | |
bool | frame_queue_full () |
Check if the frame queue is full. | |
bool | frame_queue_empty () |
Check if the frame queue is empty. | |
bool | push_frame (struct frame_buffer_t *frame) |
Push new frame into the frame FIFO. More... | |
struct frame_buffer_t * | pop_frame () |
Pop a frame from the frame FIFO. More... | |
FIFO interface for frame displaying.
A flexible display system is created by using a first-in, first-out queue which holds pointers to frame buffer objects. Multiple instances can push frames in the queue to be displayed. They can do this independently from each other, without running the risk of (partially) overwriting an existing frame, or a frame that is currently being drawn. Queue manipulation is done atomically to ensure no pointers are dropped, or invalid pointers are returned.
struct frame_buffer_t* pop_frame | ( | ) |
Pop a frame from the frame FIFO.
bool push_frame | ( | struct frame_buffer_t * | frame | ) |
Push new frame into the frame FIFO.
true
on success, and false
if the FIFO was full.