11#ifndef _PCM_STREAM_CHANNEL_MODIFIER_H_
12#define _PCM_STREAM_CHANNEL_MODIFIER_H_
22#include <zephyr/kernel.h>
40 uint8_t pcm_bit_depth,
void *output,
size_t *output_size);
55int pscm_copy_pad(
void const *
const input,
size_t input_size, uint8_t pcm_bit_depth,
void *output,
69int pscm_combine(
void const *
const input_left,
void const *
const input_right,
size_t input_size,
70 uint8_t pcm_bit_depth,
void *output,
size_t *output_size);
87 uint8_t pcm_bit_depth,
void *output,
size_t *output_size);
106 void *output_left,
void *output_right,
size_t *output_size);
audio_channel
Audio channel assignment values.
Definition: audio_defines.h:20
Globally accessible audio related defines.
int pscm_copy_pad(void const *const input, size_t input_size, uint8_t pcm_bit_depth, void *output, size_t *output_size)
Adds a copy of every sample from *input and writes it to both channels in *output.
int pscm_two_channel_split(void const *const input, size_t input_size, uint8_t pcm_bit_depth, void *output_left, void *output_right, size_t *output_size)
Splits a stereo stream to two separate mono streams.
int pscm_one_channel_split(void const *const input, size_t input_size, enum audio_channel channel, uint8_t pcm_bit_depth, void *output, size_t *output_size)
Removes every second sample from *input and writes it to *output.
int pscm_combine(void const *const input_left, void const *const input_right, size_t input_size, uint8_t pcm_bit_depth, void *output, size_t *output_size)
Combines two mono streams into one stereo stream.
int pscm_zero_pad(void const *const input, size_t input_size, enum audio_channel channel, uint8_t pcm_bit_depth, void *output, size_t *output_size)
Adds a 0 after every sample from *input and writes it to *output.