ascii-chat 0.8.38
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
session_participant Struct Reference

Internal session participant structure. More...

Data Fields

char address [BUFFER_SIZE_SMALL]
 Server address.
 
int port
 Server port.
 
bool encryption_enabled
 Encryption enabled.
 
char password [BUFFER_SIZE_SMALL]
 Password (if any)
 
char server_key [BUFFER_SIZE_MEDIUM]
 Server key for verification (if any)
 
bool enable_audio
 Audio enabled.
 
bool enable_video
 Video enabled.
 
session_participant_callbacks_t callbacks
 Event callbacks.
 
void * user_data
 User data for callbacks.
 
socket_t socket
 Connection socket.
 
struct acip_transport * transport
 Alternative transport (WebRTC, WebSocket, etc.) - NULL if using socket only.
 
bool connected
 Currently connected.
 
uint32_t client_id
 Assigned client ID.
 
bool video_active
 Video streaming active.
 
bool audio_active
 Audio streaming active.
 
session_settings_t settings
 Current session settings.
 
session_capture_ctx_t * video_capture
 Video capture context (for webcam/file media)
 
session_audio_ctx_t * audio_capture
 Audio capture context (for microphone)
 
asciichat_thread_t video_capture_thread
 Video capture thread handle.
 
asciichat_thread_t audio_capture_thread
 Audio capture thread handle.
 
bool video_capture_running
 Video capture thread running flag.
 
bool audio_capture_running
 Audio capture thread running flag.
 
opus_codec_t * opus_encoder
 Opus encoder for audio compression.
 
bool initialized
 Context is initialized.
 

Detailed Description

Internal session participant structure.

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

Definition at line 43 of file participant.c.

Field Documentation

◆ address

char session_participant::address[BUFFER_SIZE_SMALL]

◆ audio_active

◆ audio_capture

session_audio_ctx_t* session_participant::audio_capture

Audio capture context (for microphone)

Definition at line 96 of file participant.c.

Referenced by session_participant_destroy(), session_participant_start_audio_capture(), and session_participant_stop_audio_capture().

◆ audio_capture_running

bool session_participant::audio_capture_running

Audio capture thread running flag.

Definition at line 108 of file participant.c.

Referenced by session_participant_destroy(), session_participant_start_audio_capture(), and session_participant_stop_audio_capture().

◆ audio_capture_thread

asciichat_thread_t session_participant::audio_capture_thread

Audio capture thread handle.

Definition at line 102 of file participant.c.

Referenced by session_participant_start_audio_capture(), and session_participant_stop_audio_capture().

◆ callbacks

session_participant_callbacks_t session_participant::callbacks

Event callbacks.

Definition at line 66 of file participant.c.

Referenced by session_participant_connect(), session_participant_create(), and session_participant_disconnect().

◆ client_id

uint32_t session_participant::client_id

◆ connected

◆ enable_audio

bool session_participant::enable_audio

◆ enable_video

bool session_participant::enable_video

◆ encryption_enabled

bool session_participant::encryption_enabled

Encryption enabled.

Definition at line 51 of file participant.c.

Referenced by session_participant_create().

◆ initialized

◆ opus_encoder

opus_codec_t* session_participant::opus_encoder

Opus encoder for audio compression.

Definition at line 111 of file participant.c.

Referenced by session_participant_destroy(), and session_participant_start_audio_capture().

◆ password

char session_participant::password[BUFFER_SIZE_SMALL]

Password (if any)

Definition at line 54 of file participant.c.

Referenced by session_participant_create(), and session_participant_destroy().

◆ port

int session_participant::port

Server port.

Definition at line 48 of file participant.c.

Referenced by session_participant_connect(), and session_participant_create().

◆ server_key

char session_participant::server_key[BUFFER_SIZE_MEDIUM]

Server key for verification (if any)

Definition at line 57 of file participant.c.

Referenced by session_participant_create(), and session_participant_destroy().

◆ settings

session_settings_t session_participant::settings

Current session settings.

Definition at line 90 of file participant.c.

Referenced by session_participant_create(), and session_participant_get_settings().

◆ socket

◆ transport

struct acip_transport* session_participant::transport

Alternative transport (WebRTC, WebSocket, etc.) - NULL if using socket only.

Definition at line 75 of file participant.c.

Referenced by session_participant_create(), session_participant_get_transport(), session_participant_has_transport(), and session_participant_set_transport().

◆ user_data

void* session_participant::user_data

User data for callbacks.

Definition at line 69 of file participant.c.

Referenced by session_participant_connect(), session_participant_create(), and session_participant_disconnect().

◆ video_active

◆ video_capture

session_capture_ctx_t* session_participant::video_capture

Video capture context (for webcam/file media)

Definition at line 93 of file participant.c.

Referenced by session_participant_destroy(), and session_participant_start_video_capture().

◆ video_capture_running

bool session_participant::video_capture_running

Video capture thread running flag.

Definition at line 105 of file participant.c.

Referenced by session_participant_destroy(), session_participant_start_video_capture(), and session_participant_stop_video_capture().

◆ video_capture_thread

asciichat_thread_t session_participant::video_capture_thread

Video capture thread handle.

Definition at line 99 of file participant.c.

Referenced by session_participant_start_video_capture(), and session_participant_stop_video_capture().


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