Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
mpipe_src.h
Go to the documentation of this file.
1/*
2 * Copyright 2025-2026 NXP
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
12
13#ifndef ZEPHYR_INCLUDE_MPIPE_MPIPE_SRC_H_
14#define ZEPHYR_INCLUDE_MPIPE_MPIPE_SRC_H_
15
39
43
55
62struct mpipe_src {
75 int (*set_caps)(struct mpipe_src *src, const struct mpipe_structure *caps);
82 int (*decide_buffer_pool)(struct mpipe_src *self, struct mpipe_dispatch *query);
83};
84
97int mpipe_src_init(struct mpipe_src *src, uint8_t id);
98
112int mpipe_src_change_state(struct mpipe_element *self, enum mpipe_state_change transition);
113
122int mpipe_src_set_property(struct mpipe_object *obj, uint32_t key, const void *val);
123
132int mpipe_src_get_property(struct mpipe_object *obj, uint32_t key, void *val);
133
135
136#endif /* ZEPHYR_INCLUDE_MPIPE_MPIPE_SRC_H_ */
mpipe_state_change
enum mpipe_state_change
Definition mpipe_element.h:141
int mpipe_src_get_property(struct mpipe_object *obj, uint32_t key, void *val)
Get property from source element.
int mpipe_src_change_state(struct mpipe_element *self, enum mpipe_state_change transition)
Change state function for base source element.
int mpipe_src_set_property(struct mpipe_object *obj, uint32_t key, const void *val)
Set property on source element.
int mpipe_src_init(struct mpipe_src *src, uint8_t id)
Initialize a source element.
mpipe_prop_src
Properties for a base source element.
Definition mpipe_src.h:49
@ MPIPE_PROP_SRC_NUM_BUFS
Number of buffers that the source outputs before sending EOS.
Definition mpipe_src.h:51
@ 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.
Pad: the point where two elements meet.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
Buffer pool structure.
Definition mpipe_buffer.h:75
A query or an event traveling a pad link.
Definition mpipe_dispatch.h:77
Element base class.
Definition mpipe_element.h:165
Base object structure.
Definition mpipe_object.h:65
Pad structure.
Definition mpipe_pad.h:128
Base Source Element Structure.
Definition mpipe_src.h:62
struct mpipe_element element
Base element structure.
Definition mpipe_src.h:64
int(* decide_buffer_pool)(struct mpipe_src *self, struct mpipe_dispatch *query)
Decide the buffer pool for the downstream peer.
Definition mpipe_src.h:82
int(* set_caps)(struct mpipe_src *src, const struct mpipe_structure *caps)
Set a given capability on the source pad.
Definition mpipe_src.h:75
struct mpipe_pad src_pad
Source pad for output data.
Definition mpipe_src.h:66
uint32_t num_buffers
Number of buffers that the source outputs before sending EOS; 0 means will run forever.
Definition mpipe_src.h:73
struct mpipe_buffer_pool * pool
Buffer pool for managing output buffers.
Definition mpipe_src.h:68
Fixed-size container holding the fields of one capability.
Definition mpipe_structure.h:179