17#ifndef ZEPHYR_INCLUDE_MPIPE_BASE_MPIPE_APP_SRC_H_
18#define ZEPHYR_INCLUDE_MPIPE_BASE_MPIPE_APP_SRC_H_
74 char msgq_buffer[(CONFIG_MPIPE_BASE_APP_SRC_QUEUE_DEPTH + 1) *
sizeof(
void *)];
int mpipe_app_src_init(struct mpipe_app_src *app_src, uint8_t id)
Initialize an application source element.
int mpipe_app_src_alloc(struct mpipe_app_src *app_src, uint32_t size, k_timeout_t timeout, struct net_buf **buf)
Take a buffer of the element's pool to fill in place.
int mpipe_app_src_push(struct mpipe_app_src *app_src, const void *data, uint32_t size, k_timeout_t timeout)
Push one payload into the pipeline, by copy.
int mpipe_app_src_push_buf(struct mpipe_app_src *app_src, struct net_buf *buf, uint32_t size, k_timeout_t timeout)
Queue a filled buffer into the pipeline.
int mpipe_app_src_eos(struct mpipe_app_src *app_src, k_timeout_t timeout)
Declare end of stream.
@ MPIPE_PROP_BASE_APP_SRC_CAPS
Capability of the produced stream, a const struct mpipe_structure pointer, copied.
Definition mpipe_app_src.h:58
@ MPIPE_PROP_SRC_LAST
Last source property marker (for validation/iteration).
Definition mpipe_src.h:53
Buffer and buffer pool APIs.
Element: the unit a pipeline is built from.
Source: an element that produces buffers.
Structure: one media capability, held by value.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
Message Queue Structure.
Definition kernel.h:5265
Kernel timeout type.
Definition clock.h:65
Application source element structure.
Definition mpipe_app_src.h:64
char msgq_buffer[(CONFIG_MPIPE_BASE_APP_SRC_QUEUE_DEPTH+1) *sizeof(void *)]
Backing storage: the configured depth plus one slot for a sentinel.
Definition mpipe_app_src.h:74
struct mpipe_buffer_pool pool
Buffer pool the payloads travel in.
Definition mpipe_app_src.h:70
struct k_msgq msgq
Queue of pushed buffers, consumed by the pipeline thread.
Definition mpipe_app_src.h:72
struct mpipe_structure caps
Capability of the produced stream, offered at every negotiation.
Definition mpipe_app_src.h:68
struct mpipe_src src
Base source element (must be first).
Definition mpipe_app_src.h:66
Buffer pool structure.
Definition mpipe_buffer.h:75
Base Source Element Structure.
Definition mpipe_src.h:62
Fixed-size container holding the fields of one capability.
Definition mpipe_structure.h:179
Network buffer representation.
Definition net_buf.h:1054