nRF Connect SDK API 3.3.99
Loading...
Searching...
No Matches
audio_datapath.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2021, PACKETCRAFT, INC.
3 *
4 * SPDX-License-Identifier: LicenseRef-PCFT
5 */
6
16#ifndef _AUDIO_DATAPATH_H_
17#define _AUDIO_DATAPATH_H_
18
19#include <zephyr/kernel.h>
20#include <stdint.h>
21#include <stdbool.h>
22#include <zephyr/net_buf.h>
23
24#include "sw_codec_select.h"
25#include "audio_defines.h"
26
27#define SDU_REF_CH_DELTA_MAX_US (int)(CONFIG_AUDIO_FRAME_DURATION_US * 0.001)
28
38int audio_datapath_tone_play(uint16_t freq, uint16_t dur_ms, float amplitude);
39
44
52int audio_datapath_pres_delay_us_set(uint32_t delay_us);
53
59void audio_datapath_pres_delay_us_get(uint32_t *delay_us);
60
70void audio_datapath_stream_out(struct net_buf *audio_frame_in);
71
81int audio_datapath_start(struct k_msgq *queue_rx);
82
89
96
101#endif /* _AUDIO_DATAPATH_H_ */
Globally accessible audio related defines.
int audio_datapath_pres_delay_us_set(uint32_t delay_us)
Set the presentation delay.
void audio_datapath_tone_stop(void)
Stop tone playback.
void audio_datapath_pres_delay_us_get(uint32_t *delay_us)
Get the current presentation delay.
int audio_datapath_start(struct k_msgq *queue_rx)
Start the audio datapath module.
int audio_datapath_tone_play(uint16_t freq, uint16_t dur_ms, float amplitude)
Mixes a tone into the I2S TX stream.
int audio_datapath_init(void)
Initialize the audio datapath module.
void audio_datapath_stream_out(struct net_buf *audio_frame_in)
Input an audio data frame which is processed and outputted over I2S.
int audio_datapath_stop(void)
Stop the audio datapath module.