ascii-chat
Binary v0.15.83-53-gb711d8720
Library lib/v0.3.2-701-gb711d8720
Video chat in your terminal
Loading...
Searching...
No Matches
client_audio_pipeline_t Struct Reference

Client audio pipeline state. More...

#include <include/ascii-chat/audio/client_pipeline.h>

Data Fields

client_audio_pipeline_flags_t flags
void * echo_canceller
audio_processor_t * processor
SpeexPreprocessState * preprocess
JitterBuffer * jitter
uint32_t jitter_timestamp
int jitter_frame_span
OpusEncoder * encoder
OpusDecoder * decoder
client_audio_pipeline_config_t config
int frame_size
int16_t * work_i16
int16_t * echo_i16
float * work_float
bool initialized
int capture_fadein_remaining
void * debug_wav_aec3_in
void * debug_wav_aec3_out
void * aec3_render_buffer
void * aec3_capture_buffer

Detailed Description

Client audio pipeline state.

Owns all audio processing components and buffers. Created with client_audio_pipeline_create(), destroyed with _destroy().

Definition at line 189 of file client_pipeline.h.

Field Documentation

◆ aec3_capture_buffer

void* client_audio_pipeline_t::aec3_capture_buffer

◆ aec3_render_buffer

void* client_audio_pipeline_t::aec3_render_buffer

Persistent AudioBuffer instances for AEC3 (opaque C++ objects) Note: AudioBuffer has internal filterbank state that must persist across frames. Creating new buffers each frame causes discontinuities (static/buzzing).

Definition at line 240 of file client_pipeline.h.

Referenced by client_audio_pipeline_create(), client_audio_pipeline_destroy(), and client_audio_pipeline_process_duplex().

◆ capture_fadein_remaining

int client_audio_pipeline_t::capture_fadein_remaining

Startup fade-in to prevent initial click (samples remaining)

Definition at line 230 of file client_pipeline.h.

Referenced by client_audio_pipeline_create(), and client_audio_pipeline_process_duplex().

◆ config

◆ debug_wav_aec3_in

void* client_audio_pipeline_t::debug_wav_aec3_in

Debug WAV writers for AEC3 analysis

Definition at line 233 of file client_pipeline.h.

Referenced by client_audio_pipeline_create(), client_audio_pipeline_destroy(), and client_audio_pipeline_process_duplex().

◆ debug_wav_aec3_out

void* client_audio_pipeline_t::debug_wav_aec3_out

◆ decoder

OpusDecoder* client_audio_pipeline_t::decoder

◆ echo_canceller

void* client_audio_pipeline_t::echo_canceller

WebRTC AEC3 echo cancellation (opaque pointer to webrtc::EchoCanceller3)

Definition at line 194 of file client_pipeline.h.

Referenced by client_audio_pipeline_create(), client_audio_pipeline_destroy(), and client_audio_pipeline_process_duplex().

◆ echo_i16

int16_t* client_audio_pipeline_t::echo_i16

Work buffer for echo reference

Definition at line 220 of file client_pipeline.h.

◆ encoder

OpusEncoder* client_audio_pipeline_t::encoder

◆ flags

◆ frame_size

int client_audio_pipeline_t::frame_size

Frame size in samples

Definition at line 215 of file client_pipeline.h.

Referenced by client_audio_pipeline_capture(), and client_audio_pipeline_create().

◆ initialized

bool client_audio_pipeline_t::initialized

Initialization state

Definition at line 227 of file client_pipeline.h.

Referenced by client_audio_pipeline_create().

◆ jitter

JitterBuffer* client_audio_pipeline_t::jitter

Speex jitter buffer for playback path

Definition at line 200 of file client_pipeline.h.

◆ jitter_frame_span

int client_audio_pipeline_t::jitter_frame_span

Frame span in timestamp units

Definition at line 204 of file client_pipeline.h.

◆ jitter_timestamp

uint32_t client_audio_pipeline_t::jitter_timestamp

Jitter buffer timestamp counter

Definition at line 202 of file client_pipeline.h.

◆ preprocess

SpeexPreprocessState* client_audio_pipeline_t::preprocess

Speex preprocessor state (noise/AGC/VAD)

Definition at line 197 of file client_pipeline.h.

◆ processor

◆ work_float

float* client_audio_pipeline_t::work_float

Work buffer for float processing

Definition at line 222 of file client_pipeline.h.

◆ work_i16

int16_t* client_audio_pipeline_t::work_i16

Work buffer for int16 conversion (Speex uses int16)

Definition at line 218 of file client_pipeline.h.


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