Sound Open Firmware
Loading...
Searching...
No Matches
sink_ops Struct Reference

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)
 

Detailed Description

this is a definition of internals of sink API

The clients of stream API should use access functions provided below!

Field Documentation

◆ audio_set_ipc_params

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.

◆ commit_buffer

int(* sink_ops::commit_buffer) (struct sof_sink *sink, size_t commit_size)

see comment of sink_commit_buffer()

◆ get_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()

◆ get_free_size

size_t(* sink_ops::get_free_size) (struct sof_sink *sink)

see comment of sink_get_free_size()

◆ get_lft

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

◆ get_state

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()

◆ on_audio_format_set

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

Return values
0if success, negative if new parameters are not supported

◆ on_bind

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.

◆ on_unbind

int(* sink_ops::on_unbind) (struct sof_sink *sink)

◆ set_alignment_constants

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.

◆ set_size

int(* sink_ops::set_size) (struct sof_sink *sink, size_t size)

OPTIONAL see comment for sink_set_size.


The documentation for this struct was generated from the following file: