ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
participant.c File Reference

👤 Client-side session participation implementation More...

Go to the source code of this file.

Data Structures

struct  session_participant
 Internal session participant structure. More...
 

Typedefs

typedef struct session_participant session_participant_t
 Internal session participant structure.
 

Functions

session_participant_t * session_participant_create (const session_participant_config_t *config)
 Create a new session participant.
 
void session_participant_destroy (session_participant_t *p)
 Destroy session participant and free resources.
 
asciichat_error_t session_participant_connect (session_participant_t *p)
 Connect to session server.
 
void session_participant_disconnect (session_participant_t *p)
 Disconnect from session server.
 
bool session_participant_is_connected (session_participant_t *p)
 Check if participant is connected.
 
uint32_t session_participant_get_client_id (session_participant_t *p)
 Get assigned client ID.
 
socket_t session_participant_get_socket (session_participant_t *p)
 Get the socket from a participant context.
 
asciichat_error_t session_participant_start_video (session_participant_t *p)
 Start video capture and streaming.
 
void session_participant_stop_video (session_participant_t *p)
 Stop video capture and streaming.
 
bool session_participant_is_video_active (session_participant_t *p)
 Check if video is streaming.
 
asciichat_error_t session_participant_start_audio (session_participant_t *p)
 Start audio capture and streaming.
 
void session_participant_stop_audio (session_participant_t *p)
 Stop audio capture and streaming.
 
bool session_participant_is_audio_active (session_participant_t *p)
 Check if audio is streaming.
 
asciichat_error_t session_participant_get_settings (session_participant_t *p, session_settings_t *settings)
 Get current session settings.
 
asciichat_error_t session_participant_request_settings (session_participant_t *p, const session_settings_t *settings)
 Request session settings update (if permitted)
 
asciichat_error_t session_participant_start_video_capture (session_participant_t *p)
 Start video capture and transmission to host.
 
void session_participant_stop_video_capture (session_participant_t *p)
 Stop video capture and transmission.
 
asciichat_error_t session_participant_start_audio_capture (session_participant_t *p)
 Start audio capture and transmission to host.
 
void session_participant_stop_audio_capture (session_participant_t *p)
 Stop audio capture and transmission.
 
asciichat_error_t session_participant_set_transport (session_participant_t *p, acip_transport_t *transport)
 Set an alternative transport for the participant.
 
acip_transport_t * session_participant_get_transport (session_participant_t *p)
 Get the current transport for the participant.
 
bool session_participant_has_transport (session_participant_t *p)
 Check if participant has an active alternative transport.
 

Detailed Description

👤 Client-side session participation implementation

Implements the session participant abstraction for client-side connection management and media streaming.

NOTE: This is a stub implementation that provides the API structure. Full implementation will integrate with existing client code in a future phase.

Author
Zachary Fogg me@zf.nosp@m.o.gg
Date
January 2026

Definition in file participant.c.

Typedef Documentation

◆ session_participant_t

Internal session participant structure.

Contains connection state, media stream state, and callback configuration.