|
ascii-chat 0.8.38
Real-time terminal-based video chat with ASCII art conversion
|
🔊 Session-level audio coordination implementation More...
Go to the source code of this file.
Data Structures | |
| struct | session_audio_source_t |
| Per-source audio buffer info for mixing. More... | |
| struct | session_audio_ctx |
| Internal session audio context structure. More... | |
Macros | |
| #define | SESSION_AUDIO_MAX_SOURCES 32 |
| Maximum number of audio sources for mixing. | |
Functions | |
| session_audio_ctx_t * | session_audio_create (bool is_host) |
| void | session_audio_destroy (session_audio_ctx_t *ctx) |
| asciichat_error_t | session_audio_start_capture (session_audio_ctx_t *ctx) |
| asciichat_error_t | session_audio_start_playback (session_audio_ctx_t *ctx) |
| asciichat_error_t | session_audio_start_duplex (session_audio_ctx_t *ctx) |
| void | session_audio_stop (session_audio_ctx_t *ctx) |
| bool | session_audio_is_running (session_audio_ctx_t *ctx) |
| size_t | session_audio_read_captured (session_audio_ctx_t *ctx, float *buffer, size_t num_samples) |
| asciichat_error_t | session_audio_write_playback (session_audio_ctx_t *ctx, const float *buffer, size_t num_samples) |
| asciichat_error_t | session_audio_add_source (session_audio_ctx_t *ctx, uint32_t source_id) |
| void | session_audio_remove_source (session_audio_ctx_t *ctx, uint32_t source_id) |
| asciichat_error_t | session_audio_write_source (session_audio_ctx_t *ctx, uint32_t source_id, const float *samples, size_t num_samples) |
| size_t | session_audio_mix_excluding (session_audio_ctx_t *ctx, uint32_t exclude_id, float *output, size_t num_samples) |
🔊 Session-level audio coordination implementation
Implements the session audio wrapper for coordinating audio capture, playback, and mixing at the session level.
Definition in file lib/session/audio.c.
| #define SESSION_AUDIO_MAX_SOURCES 32 |
Maximum number of audio sources for mixing.
Definition at line 27 of file lib/session/audio.c.
| asciichat_error_t session_audio_add_source | ( | session_audio_ctx_t * | ctx, |
| uint32_t | source_id | ||
| ) |
Definition at line 225 of file lib/session/audio.c.
References audio_ring_buffer_create(), and SESSION_AUDIO_MAX_SOURCES.
| session_audio_ctx_t * session_audio_create | ( | bool | is_host | ) |
Definition at line 74 of file lib/session/audio.c.
References audio_init(), and SESSION_AUDIO_MAX_SOURCES.
Referenced by session_host_start_render(), and session_participant_start_audio_capture().
| void session_audio_destroy | ( | session_audio_ctx_t * | ctx | ) |
Definition at line 108 of file lib/session/audio.c.
References audio_destroy(), audio_ring_buffer_destroy(), SESSION_AUDIO_MAX_SOURCES, and session_audio_stop().
Referenced by session_host_destroy(), session_host_start_render(), session_host_stop_render(), and session_participant_destroy().
| bool session_audio_is_running | ( | session_audio_ctx_t * | ctx | ) |
Definition at line 189 of file lib/session/audio.c.
| size_t session_audio_mix_excluding | ( | session_audio_ctx_t * | ctx, |
| uint32_t | exclude_id, | ||
| float * | output, | ||
| size_t | num_samples | ||
| ) |
Definition at line 301 of file lib/session/audio.c.
References audio_ring_buffer_read(), and SESSION_AUDIO_MAX_SOURCES.
| size_t session_audio_read_captured | ( | session_audio_ctx_t * | ctx, |
| float * | buffer, | ||
| size_t | num_samples | ||
| ) |
Definition at line 200 of file lib/session/audio.c.
References audio_read_samples().
| void session_audio_remove_source | ( | session_audio_ctx_t * | ctx, |
| uint32_t | source_id | ||
| ) |
Definition at line 259 of file lib/session/audio.c.
References audio_ring_buffer_destroy(), and SESSION_AUDIO_MAX_SOURCES.
| asciichat_error_t session_audio_start_capture | ( | session_audio_ctx_t * | ctx | ) |
Definition at line 145 of file lib/session/audio.c.
References session_audio_start_duplex().
| asciichat_error_t session_audio_start_duplex | ( | session_audio_ctx_t * | ctx | ) |
Definition at line 163 of file lib/session/audio.c.
References audio_start_duplex().
Referenced by session_audio_start_capture(), session_audio_start_playback(), and session_participant_start_audio_capture().
| asciichat_error_t session_audio_start_playback | ( | session_audio_ctx_t * | ctx | ) |
Definition at line 154 of file lib/session/audio.c.
References session_audio_start_duplex().
| void session_audio_stop | ( | session_audio_ctx_t * | ctx | ) |
Definition at line 180 of file lib/session/audio.c.
References audio_stop_duplex().
Referenced by session_audio_destroy(), session_participant_start_audio_capture(), and session_participant_stop_audio_capture().
| asciichat_error_t session_audio_write_playback | ( | session_audio_ctx_t * | ctx, |
| const float * | buffer, | ||
| size_t | num_samples | ||
| ) |
Definition at line 213 of file lib/session/audio.c.
References audio_write_samples().
| asciichat_error_t session_audio_write_source | ( | session_audio_ctx_t * | ctx, |
| uint32_t | source_id, | ||
| const float * | samples, | ||
| size_t | num_samples | ||
| ) |
Definition at line 278 of file lib/session/audio.c.
References audio_ring_buffer_write(), and SESSION_AUDIO_MAX_SOURCES.