|
ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
|
Client audio pipeline state. More...
#include <lib/audio/client_audio_pipeline.h>
Data Fields | |
| client_audio_pipeline_flags_t | flags |
| void * | echo_canceller |
| SpeexPreprocessState * | preprocess |
| JitterBuffer * | jitter |
| uint32_t | jitter_timestamp |
| int | jitter_frame_span |
| OpusEncoder * | encoder |
| OpusDecoder * | decoder |
| compressor_t | compressor |
| noise_gate_t | noise_gate |
| noise_gate_t | playback_noise_gate |
| highpass_filter_t | highpass |
| lowpass_filter_t | lowpass |
| 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 |
Client audio pipeline state.
Owns all audio processing components and buffers. Created with client_audio_pipeline_create(), destroyed with _destroy().
Definition at line 229 of file client_audio_pipeline.h.
| void* client_audio_pipeline_t::aec3_capture_buffer |
Definition at line 291 of file client_audio_pipeline.h.
Referenced by client_audio_pipeline_create(), client_audio_pipeline_destroy(), and client_audio_pipeline_process_duplex().
| void* client_audio_pipeline_t::aec3_render_buffer |
Persistent AudioBuffer instances for AEC3 (opaque C++ objects) CRITICAL: AudioBuffer has internal filterbank state that must persist across frames. Creating new buffers each frame causes discontinuities (static/buzzing).
Definition at line 290 of file client_audio_pipeline.h.
Referenced by client_audio_pipeline_create(), client_audio_pipeline_destroy(), and client_audio_pipeline_process_duplex().
| int client_audio_pipeline_t::capture_fadein_remaining |
Startup fade-in to prevent initial click (samples remaining)
Definition at line 280 of file client_audio_pipeline.h.
Referenced by client_audio_pipeline_create(), and client_audio_pipeline_process_duplex().
| compressor_t client_audio_pipeline_t::compressor |
Dynamic range compressor
Definition at line 251 of file client_audio_pipeline.h.
Referenced by client_audio_pipeline_create(), and client_audio_pipeline_process_duplex().
| client_audio_pipeline_config_t client_audio_pipeline_t::config |
Configuration
Definition at line 262 of file client_audio_pipeline.h.
Referenced by client_audio_pipeline_create(), client_audio_pipeline_jitter_margin(), and client_audio_pipeline_process_duplex().
| void* client_audio_pipeline_t::debug_wav_aec3_in |
Debug WAV writers for AEC3 analysis
Definition at line 283 of file client_audio_pipeline.h.
Referenced by client_audio_pipeline_create(), client_audio_pipeline_destroy(), and client_audio_pipeline_process_duplex().
| void* client_audio_pipeline_t::debug_wav_aec3_out |
Definition at line 284 of file client_audio_pipeline.h.
Referenced by client_audio_pipeline_create(), client_audio_pipeline_destroy(), and client_audio_pipeline_process_duplex().
| OpusDecoder* client_audio_pipeline_t::decoder |
Opus decoder
Definition at line 248 of file client_audio_pipeline.h.
Referenced by client_audio_pipeline_create(), client_audio_pipeline_destroy(), and client_audio_pipeline_playback().
| void* client_audio_pipeline_t::echo_canceller |
WebRTC AEC3 echo cancellation (opaque pointer to webrtc::EchoCanceller3)
Definition at line 234 of file client_audio_pipeline.h.
Referenced by client_audio_pipeline_create(), client_audio_pipeline_destroy(), and client_audio_pipeline_process_duplex().
| int16_t* client_audio_pipeline_t::echo_i16 |
Work buffer for echo reference
Definition at line 270 of file client_audio_pipeline.h.
| OpusEncoder* client_audio_pipeline_t::encoder |
Opus encoder
Definition at line 246 of file client_audio_pipeline.h.
Referenced by client_audio_pipeline_capture(), client_audio_pipeline_create(), and client_audio_pipeline_destroy().
| client_audio_pipeline_flags_t client_audio_pipeline_t::flags |
Component enable flags
Definition at line 231 of file client_audio_pipeline.h.
Referenced by client_audio_pipeline_create(), client_audio_pipeline_get_flags(), client_audio_pipeline_process_duplex(), and client_audio_pipeline_set_flags().
| int client_audio_pipeline_t::frame_size |
Frame size in samples
Definition at line 265 of file client_audio_pipeline.h.
Referenced by client_audio_pipeline_capture(), and client_audio_pipeline_create().
| highpass_filter_t client_audio_pipeline_t::highpass |
High-pass filter
Definition at line 257 of file client_audio_pipeline.h.
Referenced by client_audio_pipeline_create(), and client_audio_pipeline_process_duplex().
| bool client_audio_pipeline_t::initialized |
Initialization state
Definition at line 277 of file client_audio_pipeline.h.
Referenced by client_audio_pipeline_create().
| JitterBuffer* client_audio_pipeline_t::jitter |
Speex jitter buffer for playback path
Definition at line 239 of file client_audio_pipeline.h.
| int client_audio_pipeline_t::jitter_frame_span |
Frame span in timestamp units
Definition at line 243 of file client_audio_pipeline.h.
| uint32_t client_audio_pipeline_t::jitter_timestamp |
Jitter buffer timestamp counter
Definition at line 241 of file client_audio_pipeline.h.
| lowpass_filter_t client_audio_pipeline_t::lowpass |
Low-pass filter
Definition at line 259 of file client_audio_pipeline.h.
Referenced by client_audio_pipeline_create(), and client_audio_pipeline_process_duplex().
| noise_gate_t client_audio_pipeline_t::noise_gate |
Noise gate for capture
Definition at line 253 of file client_audio_pipeline.h.
Referenced by client_audio_pipeline_create(), and client_audio_pipeline_process_duplex().
| noise_gate_t client_audio_pipeline_t::playback_noise_gate |
Noise gate for playback - cuts quiet received audio
Definition at line 255 of file client_audio_pipeline.h.
Referenced by client_audio_pipeline_create(), and client_audio_pipeline_playback().
| SpeexPreprocessState* client_audio_pipeline_t::preprocess |
Speex preprocessor state (noise/AGC/VAD)
Definition at line 236 of file client_audio_pipeline.h.
| float* client_audio_pipeline_t::work_float |
Work buffer for float processing
Definition at line 272 of file client_audio_pipeline.h.
| int16_t* client_audio_pipeline_t::work_i16 |
Work buffer for int16 conversion (Speex uses int16)
Definition at line 268 of file client_audio_pipeline.h.