15#ifndef __MODULE_MODULE_INTERFACE__
16#define __MODULE_MODULE_INTERFACE__
114 struct sof_source **sources,
int num_of_sources,
115 struct sof_sink **sinks,
int num_of_sinks);
133 struct sof_source **sources,
int num_of_sources,
134 struct sof_sink **sinks,
int num_of_sinks);
158 struct sof_source **sources,
int num_of_sources,
159 struct sof_sink **sinks,
int num_of_sinks);
174 int num_input_buffers,
176 int num_output_buffers);
189 int num_input_buffers,
191 int num_output_buffers);
230 const uint8_t *fragment,
size_t fragment_size, uint8_t *response,
231 size_t response_size);
244 uint32_t config_id, uint32_t *data_offset_size,
245 uint8_t *fragment,
size_t fragment_size);
300#ifdef SOF_MODULE_API_PRIVATE
module_processing_mode
MODULE_PROCESSING_NORMAL: Indicates that module is expected to apply its custom processing on the inp...
Definition interface.h:44
@ MODULE_PROCESSING_BYPASS
Definition interface.h:46
@ MODULE_PROCESSING_NORMAL
Definition interface.h:45
module_cfg_fragment_position
Fragment position in config MODULE_CFG_FRAGMENT_FIRST: first fragment of the large configuration MODU...
Definition interface.h:29
@ MODULE_CFG_FRAGMENT_FIRST
Definition interface.h:31
@ MODULE_CFG_FRAGMENT_LAST
Definition interface.h:32
@ MODULE_CFG_FRAGMENT_MIDDLE
Definition interface.h:30
@ MODULE_CFG_FRAGMENT_SINGLE
Definition interface.h:33
Component module binding metadata and endpoint references.
Definition component.h:287
Ops relevant only for the endpoint devices such as the host copier or DAI copier.
Definition module_interface.h:34
3rd party processing module interface
Definition interface.h:102
int(* process_audio_stream)(struct processing_module *mod, struct input_stream_buffer *input_buffers, int num_input_buffers, struct output_stream_buffer *output_buffers, int num_output_buffers)
process_audio_stream (depreciated)
Definition interface.h:172
int(* set_processing_mode)(struct processing_module *mod, enum module_processing_mode mode)
(IADK) Set processing mode for the module
Definition interface.h:250
int(* set_configuration)(struct processing_module *mod, uint32_t config_id, enum module_cfg_fragment_position pos, uint32_t data_offset_size, const uint8_t *fragment, size_t fragment_size, uint8_t *response, size_t response_size)
(optional) Set module configuration for the given configuration ID
Definition interface.h:227
int(* unbind)(struct processing_module *mod, const struct bind_info *unbind_data)
(optional) Module specific unbind procedure, called when modules are disconnected from one another.
Definition interface.h:283
int(* process)(struct processing_module *mod, struct sof_source **sources, int num_of_sources, struct sof_sink **sinks, int num_of_sinks)
Module specific processing procedure This procedure is responsible to consume samples provided by the...
Definition interface.h:157
int(* reset)(struct processing_module *mod)
(optional) Module specific reset procedure, called as part of module_adapter component reset in ....
Definition interface.h:264
int(* process_raw_data)(struct processing_module *mod, struct input_stream_buffer *input_buffers, int num_input_buffers, struct output_stream_buffer *output_buffers, int num_output_buffers)
process_raw_data (depreciated)
Definition interface.h:187
int(* bind)(struct processing_module *mod, const struct bind_info *bind_data)
(optional) Module specific bind procedure, called when modules are bound with each other.
Definition interface.h:277
int(* trigger)(struct processing_module *mod, int cmd)
(optional) Module specific trigger procedure, called when modules are triggered.
Definition interface.h:291
int(* free)(struct processing_module *mod)
(optional) Module specific free procedure, called as part of module_adapter component free in ....
Definition interface.h:271
enum module_processing_mode(* get_processing_mode)(struct processing_module *mod)
(IADK) Get the current processing mode for the module
Definition interface.h:256
int(* get_config_param)(struct processing_module *mod, uint32_t *param_id_data)
(optional) Get module configuration parameter
Definition interface.h:215
int(* set_config_param)(struct processing_module *mod, uint32_t param_id_data)
(optional) Set module configuration parameter
Definition interface.h:203
int(* prepare)(struct processing_module *mod, struct sof_source **sources, int num_of_sources, struct sof_sink **sinks, int num_of_sinks)
(optional) Module specific prepare procedure, called as part of module_adapter component preparation ...
Definition interface.h:113
int(* init)(struct processing_module *mod)
Module specific initialization procedure, called as part of module_adapter component creation in ....
Definition interface.h:107
int(* get_configuration)(struct processing_module *mod, uint32_t config_id, uint32_t *data_offset_size, uint8_t *fragment, size_t fragment_size)
(optional) Get module runtime configuration for the given configuration ID
Definition interface.h:243
bool(* is_ready_to_process)(struct processing_module *mod, struct sof_source **sources, int num_of_sources, struct sof_sink **sinks, int num_of_sinks)
(optional) return true if the module is ready to process This procedure should check if the module is...
Definition interface.h:132
Output stream buffer.
Definition interface.h:66
void * data
Definition interface.h:67
uint32_t size
Definition interface.h:68
internals of sink API.
Definition sink_api.h:141
internals of source API.
Definition source_api.h:137
Definition interface.h:80
struct config_param_id_data::@126 f
uint32_t data16
Definition interface.h:83
uint32_t _rsvd
Definition interface.h:85
uint32_t dw
Definition interface.h:81
uint32_t id
Definition interface.h:84