nRF Connect SDK API 3.4.99
Loading...
Searching...
No Matches
audio_rate_control.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2026 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5 */
6
19#ifndef _AUDIO_RATE_CONTROL_H_
20#define _AUDIO_RATE_CONTROL_H_
21
29
33struct audio_rate_control_imp_ctx;
34
38struct audio_rate_control_cfg;
39
53 int (*initialize)(struct audio_rate_control_imp_ctx *const ctx);
54
64 int (*uninitialize)(struct audio_rate_control_imp_ctx *ctx);
65
76 int (*reset)(struct audio_rate_control_imp_ctx *const ctx);
77
88 int (*cfg_set)(struct audio_rate_control_imp_ctx *const ctx,
89 struct audio_rate_control_cfg const *const cfg);
90
101 int (*cfg_get)(struct audio_rate_control_imp_ctx const *const ctx,
102 struct audio_rate_control_cfg *cfg);
103
115 int (*update)(struct audio_rate_control_imp_ctx *const ctx, void *const control_val_u);
116};
117
125 /* Opaque structure to the implemented rate control context.
126 * The structure and the pointer, must remain valid for the
127 * lifetime of the instance of the module.
128 */
129 struct audio_rate_control_imp_ctx *imp_ctx;
130
131 /* Audio rate_control state */
133
134 /* Callbacks for the rate control implementation */
136};
137
149 struct audio_rate_control_imp_ctx *const imp_ctx,
150 struct audio_rate_control_ops const *const imp_cb);
151
163
172
182 struct audio_rate_control_cfg const *const cfg);
183
193 struct audio_rate_control_cfg *const cfg);
194
205int audio_rate_control_update(struct audio_rate_control_ctx *const ctx, void *const control_val_u);
206
211#endif /* _AUDIO_RATE_CONTROL_H_ */
int audio_rate_control_update(struct audio_rate_control_ctx *const ctx, void *const control_val_u)
Update and get the new error between timestamps for an audio rate control module.
int audio_rate_control_cfg_get(struct audio_rate_control_ctx const *const ctx, struct audio_rate_control_cfg *const cfg)
Get the configuration of an audio rate control module.
int audio_rate_control_uninit(struct audio_rate_control_ctx *ctx)
Uninitialize an audio rate control module.
int audio_rate_control_init(struct audio_rate_control_ctx *const ctx, struct audio_rate_control_imp_ctx *const imp_ctx, struct audio_rate_control_ops const *const imp_cb)
Initialize an instance of the audio rate control module with the specified initial configuration.
int audio_rate_control_reset(struct audio_rate_control_ctx *const ctx)
Reset an audio rate control module back to the last valid configuration.
audio_rate_control_state
The state of the audio rate control.
Definition audio_rate_control.h:25
@ AUDIO_RATE_CONTROL_STATE_INITIALIZED
Definition audio_rate_control.h:27
@ AUDIO_RATE_CONTROL_STATE_UNINITIALIZED
Definition audio_rate_control.h:26
int audio_rate_control_cfg_set(struct audio_rate_control_ctx *const ctx, struct audio_rate_control_cfg const *const cfg)
Configure an audio rate control after it has been initialized.
enum audio_rate_control_state state
Definition audio_rate_control.h:132
struct audio_rate_control_ops cb
Definition audio_rate_control.h:135
struct audio_rate_control_imp_ctx * imp_ctx
Definition audio_rate_control.h:129
Audio rate control's private context.
Definition audio_rate_control.h:124
int(* reset)(struct audio_rate_control_imp_ctx *const ctx)
Reset a rate control module implementation back to the last valid configuration..
Definition audio_rate_control.h:76
int(* initialize)(struct audio_rate_control_imp_ctx *const ctx)
Initialize a rate control module implementation.
Definition audio_rate_control.h:53
int(* cfg_get)(struct audio_rate_control_imp_ctx const *const ctx, struct audio_rate_control_cfg *cfg)
Get the configuration of an active rate control implementation.
Definition audio_rate_control.h:101
int(* update)(struct audio_rate_control_imp_ctx *const ctx, void *const control_val_u)
Update the rate control value implementation.
Definition audio_rate_control.h:115
int(* uninitialize)(struct audio_rate_control_imp_ctx *ctx)
Uninitialize a rate control implementation.
Definition audio_rate_control.h:64
int(* cfg_set)(struct audio_rate_control_imp_ctx *const ctx, struct audio_rate_control_cfg const *const cfg)
Configure a rate control module after it has been initialized.
Definition audio_rate_control.h:88
Audio rate control's callback structure.
Definition audio_rate_control.h:43