|
Zephyr Project API 4.4.99
A Scalable Open Source RTOS
|
Bin structure. More...
#include <mpipe_bin.h>
Data Fields | |
| struct mpipe_element | element |
| Base element structure. | |
| int | children_num |
| Number of children in the bin. | |
| sys_dlist_t | children |
| List of children elements in the bin. | |
| struct zbus_runtime_channel | bus |
| The bin's message bus. | |
Bin structure.
A container element that can hold multiple child elements.
A bin manages the state changes of its children and handles the topology of the pipeline elements within it.
| struct zbus_runtime_channel mpipe_bin::bus |
The bin's message bus.
A one-way, out-of-band notification channel that carries Messages events (end-of-stream, errors) from the elements up to the application. It is "out-of-band" because it does not travel along the data path (pads/buffers); it is a side channel for control and status notifications only.
Bus is a single zbus channel, owned by the bin and shared by all of its children. mpipe_bin_init initializes it; it needs no teardown, as it lives entirely inside the bin and is registered nowhere else.
A channel involves three roles:
| sys_dlist_t mpipe_bin::children |
List of children elements in the bin.
| int mpipe_bin::children_num |
Number of children in the bin.
| struct mpipe_element mpipe_bin::element |
Base element structure.