Zephyr Project API 4.5.0-rc2
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 splits a pipeline into two segments running on two threads: upstream deposits buffers into the queue, and a dedicated thread pulls them and pushes them to the rest of the pipeline.