Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches

Queue element for pipeline-level threading. More...

Go to the source code of this file.

Data Structures

struct  mpipe_queue
 Queue Element Structure. More...

Enumerations

enum  { MPIPE_PROP_BASE_QUEUE_SIZE = MPIPE_PROP_TRANSFORM_LAST , MPIPE_PROP_BASE_QUEUE_THREAD_PRIORITY , MPIPE_PROP_BASE_QUEUE_LEAK }
 Queue Property Identifiers. More...
enum  mpipe_base_queue_leak { MPIPE_BASE_QUEUE_LEAK_NONE = 0 , MPIPE_BASE_QUEUE_LEAK_OLDEST , MPIPE_BASE_QUEUE_LEAK_NEWEST }
 What a full queue does with a new buffer. More...

Functions

int mpipe_queue_init (struct mpipe_queue *queue, uint8_t id)
 Initialize a queue element.

Detailed Description

Queue element for pipeline-level threading.

The queue element decouples a pipeline into two segments running on two different threads. Upstream deposits buffers into the queue's internal buffer queue; then a dedicated downstream thread pulls buffers from that queue and push to the rest of the pipeline.