|
Sound Open Firmware
|
this is a definition of internals of sink API More...
#include <src/include/module/audio/sink_api.h>
Data Fields | |
| size_t(* | get_free_size )(struct sof_sink *sink) |
| see comment of sink_get_free_size() | |
| int(* | get_buffer )(struct sof_sink *sink, size_t req_size, void **data_ptr, void **buffer_start, size_t *buffer_size) |
| see comment of sink_get_buffer() | |
| int(* | commit_buffer )(struct sof_sink *sink, size_t commit_size) |
| see comment of sink_commit_buffer() | |
| uint32_t(* | get_lft )(struct sof_sink *sink) |
| get latest feeding time for this sink, result is a number of microseconds since "NOW" where "now" means a start of last LL cycle, as described in zephyr_dp_schedule.c | |
| int(* | get_state )(struct sof_sink *sink) |
| OPTIONAL: get the state of the component consuming data from this sink. | |
| int(* | on_audio_format_set )(struct sof_sink *sink) |
| OPTIONAL: Notification to the sink implementation about changes in audio format. | |
| int(* | audio_set_ipc_params )(struct sof_sink *sink, struct sof_ipc_stream_params *params, bool force_update) |
| OPTIONAL see sink_set_params comments. | |
| int(* | set_alignment_constants )(struct sof_sink *sink, const uint32_t byte_align, const uint32_t frame_align_req) |
| OPTIONAL see comment for sink_set_alignment_constants. | |
| int(* | set_size )(struct sof_sink *sink, size_t size) |
| OPTIONAL see comment for sink_set_size. | |
| int(* | on_bind )(struct sof_sink *sink, struct processing_module *module) |
| OPTIONAL events called when a module is starting / finishing using of the API on the core that the module and API will executed on. | |
| int(* | on_unbind )(struct sof_sink *sink) |
this is a definition of internals of sink API
The clients of stream API should use access functions provided below!
| int(* sink_ops::audio_set_ipc_params) (struct sof_sink *sink, struct sof_ipc_stream_params *params, bool force_update) |
OPTIONAL see sink_set_params comments.
| int(* sink_ops::commit_buffer) (struct sof_sink *sink, size_t commit_size) |
see comment of sink_commit_buffer()
| int(* sink_ops::get_buffer) (struct sof_sink *sink, size_t req_size, void **data_ptr, void **buffer_start, size_t *buffer_size) |
see comment of sink_get_buffer()
| size_t(* sink_ops::get_free_size) (struct sof_sink *sink) |
see comment of sink_get_free_size()
| uint32_t(* sink_ops::get_lft) (struct sof_sink *sink) |
get latest feeding time for this sink, result is a number of microseconds since "NOW" where "now" means a start of last LL cycle, as described in zephyr_dp_schedule.c
| int(* sink_ops::get_state) (struct sof_sink *sink) |
OPTIONAL: get the state of the component consuming data from this sink.
see comment of sink_get_state()
| int(* sink_ops::on_audio_format_set) (struct sof_sink *sink) |
OPTIONAL: Notification to the sink implementation about changes in audio format.
Once any of *audio_stream_params elements changes, the implementation of sink may need to perform some extra operations. This callback will be called immediately after any change
| 0 | if success, negative if new parameters are not supported |
| int(* sink_ops::on_bind) (struct sof_sink *sink, struct processing_module *module) |
OPTIONAL events called when a module is starting / finishing using of the API on the core that the module and API will executed on.
| int(* sink_ops::on_unbind) (struct sof_sink *sink) |
| int(* sink_ops::set_alignment_constants) (struct sof_sink *sink, const uint32_t byte_align, const uint32_t frame_align_req) |
OPTIONAL see comment for sink_set_alignment_constants.
| int(* sink_ops::set_size) (struct sof_sink *sink, size_t size) |
OPTIONAL see comment for sink_set_size.