ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
options_state Struct Reference

Consolidated options structure. More...

#include <include/ascii-chat/options/options.h>

Data Fields

asciichat_mode_t detected_mode
 Mode detected from command-line arguments.
 
bool help
 Show help message.
 
bool version
 Show version information.
 
char config_file [256]
 Config file path (–config)
 
int width
 Terminal width in characters (int for OPTION_TYPE_INT compat)
 
int height
 Terminal height in characters (int for OPTION_TYPE_INT compat)
 
bool auto_width
 Auto-detect width from terminal.
 
bool auto_height
 Auto-detect height from terminal.
 
char address [256]
 Server address (client) or bind address (server)
 
char address6 [256]
 IPv6 bind address (server only)
 
int port
 Server port number.
 
int websocket_port
 WebSocket server port (server/discovery-service only)
 
char websocket_tls_cert [256]
 WebSocket TLS certificate file path (server/discovery-service only)
 
char websocket_tls_key [256]
 WebSocket TLS private key file path (server/discovery-service only)
 
char websocket_tls_key_password [256]
 WebSocket TLS key password (server/discovery-service only)
 
int max_clients
 Maximum concurrent clients (server only)
 
char session_string [(38+1)]
 
bool discovery
 Enable discovery session registration (default: false)
 
char discovery_server [256]
 discovery server address (default: 127.0.0.1)
 
int discovery_port
 discovery server port (default: 27225)
 
char discovery_service_url [256]
 exclusive with discovery_port)
 
char discovery_service_key [256]
 HTTPS URL)
 
bool webrtc
 Enable WebRTC mode for discovery session (default: true, P2P WebRTC)
 
char discovery_database_path [256]
 ~/.ascii-chat/discovery.db)
 
bool lan_discovery
 Enable LAN service discovery via mDNS (client only)
 
bool no_mdns_advertise
 Disable mDNS service advertisement (server only)
 
int compression_level
 zstd compression level (1-9)
 
bool no_compress
 Disable compression entirely.
 
bool encode_audio
 Enable Opus audio encoding.
 
int reconnect_attempts
 Number of reconnection attempts (-1=infinite, 0=none)
 
int webcam_index
 Webcam device index (0 = first)
 
bool test_pattern
 Use test pattern instead of webcam.
 
bool no_audio_mixer
 Disable audio mixer (debug)
 
char media_file [256]
 Media file path or "-" for stdin.
 
char media_url [256]
 Network URL (HTTP/HTTPS/YouTube/RTSP) - takes priority over media_file.
 
bool media_loop
 Loop media file playback.
 
bool media_from_stdin
 Reading from stdin (detected from "--file -")
 
double media_seek_timestamp
 Seek to timestamp in seconds before playback.
 
bool pause
 Start playback paused (toggle with spacebar)
 
char yt_dlp_options [512]
 Arbitrary yt-dlp options (e.g., "--cookies-from-browser=chrome --embed-subs")
 
int color
 Color setting (COLOR_SETTING_AUTO/TRUE/FALSE)
 
terminal_color_mode_t color_mode
 Color mode (auto/none/16/256/truecolor)
 
color_filter_t color_filter
 Monochromatic color filter (none/black/white/green/etc)
 
char color_scheme_name [64]
 Color scheme name (e.g., "pastel", "nord")
 
render_mode_t render_mode
 Render mode (foreground/background/half-block)
 
bool show_capabilities
 Show terminal capabilities and exit.
 
int force_utf8
 UTF-8 support setting (auto/true/false)
 
int fps
 Target framerate (1-144, default: 60)
 
bool fps_explicitly_set
 True if FPS was explicitly configured by the user.
 
bool flip_x
 Flip video horizontally (X-axis). Ignored for webcam on macOS.
 
bool flip_y
 Flip video vertically (Y-axis)
 
bool audio_enabled
 Enable audio streaming.
 
audio_source_t audio_source
 Visualization source (all/call/mic/media)
 
audio_capture_source_t audio_capture_source
 Local capture/media selection policy.
 
bool waveform
 Replace the video image with a live audio waveform.
 
bool fft
 Replace the video image with a live audio frequency spectrogram.
 
int microphone_index
 Microphone device index (-1 = default)
 
int speakers_index
 Speakers device index (-1 = default)
 
float microphone_sensitivity
 Microphone volume multiplier (0.0-1.0, default 1.0)
 
float speakers_volume
 Speaker volume multiplier (0.0-1.0, default 1.0)
 
bool audio_analysis_enabled
 Enable audio analysis (debug)
 
bool audio_no_playback
 Disable speaker playback (debug)
 
bool stretch
 Allow aspect ratio distortion.
 
char video_codec [64]
 Video codec (raw, hevc) - default: hevc.
 
bool quiet
 Quiet mode (suppress logs)
 
unsigned short int verbose_level
 Verbosity level (stackable -V)
 
bool snapshot_mode
 Snapshot mode (one frame and exit)
 
double snapshot_delay
 Snapshot delay in seconds.
 
bool matrix_rain
 Matrix digital rain effect (false = disabled)
 
bool fps_counter
 Show FPS counter overlay in top-right corner.
 
bool strip_ansi
 Strip ANSI escape sequences.
 
char log_file [256]
 Log file path.
 
log_level_t log_level
 Log level threshold.
 
char grep_pattern [256]
 PCRE2 regex for log filtering.
 
bool json
 Enable JSON logging (–json flag)
 
char log_template [256]
 Custom log format string (formerly –log-format)
 
bool log_format_console_only
 Apply log format only to console output.
 
bool enable_keepawake
 Explicitly enable system sleep prevention.
 
bool disable_keepawake
 Explicitly disable system sleep prevention (allow OS to sleep)
 
bool encrypt_enabled
 Enable encryption.
 
char encrypt_key [256]
 SSH/GPG key file path (first –key flag, kept for compatibility)
 
char password [256]
 Password string.
 
char encrypt_keyfile [256]
 Alternative key file path.
 
bool no_encrypt
 Disable encryption (opt-out)
 
bool no_auth
 Disable authentication layer (–no-auth)
 
char server_key [256]
 Expected server public key (client)
 
char client_keys [256]
 Allowed client keys (server)
 
char identity_keys [32][256]
 All identity keys (populated when –key is used multiple times)
 
size_t num_identity_keys
 Number of identity keys loaded (0 means single-key mode using encrypt_key)
 
bool require_server_identity
 ACDS: require servers to provide signed Ed25519 identity.
 
bool require_client_identity
 ACDS: require clients to provide signed Ed25519 identity.
 
bool require_server_verify
 Server: only accept clients who verified via ACDS.
 
bool require_client_verify
 Client: only connect to servers whose identity was verified by ACDS.
 
bool discovery_expose_ip
 ACDS: explicitly allow public IP disclosure without verification (opt-in)
 
bool discovery_insecure
 ACDS: skip server key verification (MITM-vulnerable, requires explicit opt-in)
 
bool prefer_webrtc
 –prefer-webrtc: Try WebRTC before Direct TCP
 
bool no_webrtc
 –no-webrtc: Disable WebRTC, use Direct TCP only
 
bool webrtc_skip_stun
 –webrtc-skip-stun: Skip Stage 2 (STUN), go to TURN
 
bool webrtc_relay_only
 –webrtc-relay-only: Require TURN relay candidates
 
bool webrtc_disable_turn
 –webrtc-disable-turn: Disable Stage 3 (TURN), use STUN only
 
bool webrtc_skip_host
 –webrtc-skip-host: Skip host candidates, force STUN/TURN only
 
int webrtc_ice_timeout_ms
 –webrtc-ice-timeout: ICE gathering timeout in milliseconds (default: 10000)
 
int webrtc_reconnect_attempts
 –webrtc-reconnect-attempts: Number of retry attempts (default: 3)
 
bool enable_upnp
 Enable UPnP/NAT-PMP port mapping for direct TCP (opt-in via –upnp)
 
char stun_servers [256]
 ACDS: Comma-separated list of STUN server URLs.
 
char turn_servers [256]
 ACDS: Comma-separated list of TURN server URLs.
 
char turn_username [256]
 ACDS: Username for TURN authentication.
 
char turn_credential [256]
 ACDS: Credential/password for TURN authentication.
 
char turn_secret [256]
 ACDS: Shared secret for dynamic TURN credential generation (HMAC-SHA1)
 
palette_type_t palette_type
 Selected palette type.
 
char palette_custom [256]
 Custom palette characters.
 
bool palette_custom_set
 True if custom palette was set.
 
bool splash_screen
 Show splash screen (default: true = show, use –no-splash-screen to hide)
 
bool splash_screen_explicitly_set
 True if splash screen was explicitly set by user.
 
bool status_screen
 Show status screen (default: true = show, use –no-status-screen to hide)
 
bool status_screen_explicitly_set
 True if status_screen was explicitly set by user.
 
bool no_check_update
 Disable automatic update checks (default: false = checks enabled)
 
double debug_sync_state_time
 Time parameter for –sync-state option (debug builds only)
 
bool debug_sync_state_time_explicit
 True if –debug-state was explicitly provided.
 
double debug_backtrace_time
 Time parameter for –backtrace option (debug builds only)
 
bool debug_backtrace_time_explicit
 True if –backtrace was explicitly provided.
 
double debug_memory_report_interval
 Interval in seconds for periodic memory reports (debug builds only)
 
bool debug_memory_report_interval_explicit
 True if –memory-report was explicitly provided.
 
char render_file [256]
 Output file path (e.g. output.mp4)
 
int render_theme
 0=dark 1=light 2=auto
 
char render_font [256]
 Font family name or .ttf path (empty = platform default)
 
double render_font_size
 Font size in points (default 12.0, supports e.g. 10.5)
 

Detailed Description

Consolidated options structure.

All options from the scattered extern globals are now in a single struct. This struct is immutable once published via RCU - modifications create a new copy.

Examples
/home/runner/work/ascii-chat/ascii-chat/include/ascii-chat/options/explicit.h.

Definition at line 950 of file include/ascii-chat/options/options.h.

Field Documentation

◆ address

char options_state::address[256]

Server address (client) or bind address (server)

Definition at line 974 of file include/ascii-chat/options/options.h.

Referenced by client_crypto_init(), client_main(), options_init(), options_set_string(), and options_t_new().

◆ address6

char options_state::address6[256]

IPv6 bind address (server only)

Definition at line 975 of file include/ascii-chat/options/options.h.

Referenced by options_init(), options_set_string(), and options_t_new().

◆ audio_analysis_enabled

bool options_state::audio_analysis_enabled

Enable audio analysis (debug)

Definition at line 1062 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ audio_capture_source

audio_capture_source_t options_state::audio_capture_source

Local capture/media selection policy.

Definition at line 1055 of file include/ascii-chat/options/options.h.

Referenced by options_t_new().

◆ audio_enabled

bool options_state::audio_enabled

Enable audio streaming.

Definition at line 1053 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), options_t_new(), and session_settings_from_options().

◆ audio_no_playback

bool options_state::audio_no_playback

Disable speaker playback (debug)

Definition at line 1063 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ audio_source

audio_source_t options_state::audio_source

Visualization source (all/call/mic/media)

Definition at line 1054 of file include/ascii-chat/options/options.h.

Referenced by options_t_new().

◆ auto_height

bool options_state::auto_height

◆ auto_width

bool options_state::auto_width

◆ client_keys

char options_state::client_keys[256]

Allowed client keys (server)

Definition at line 1100 of file include/ascii-chat/options/options.h.

Referenced by options_init(), and options_set_string().

◆ color

int options_state::color

Color setting (COLOR_SETTING_AUTO/TRUE/FALSE)

Definition at line 1038 of file include/ascii-chat/options/options.h.

Referenced by options_config_validate(), options_init(), and options_t_new().

◆ color_filter

color_filter_t options_state::color_filter

Monochromatic color filter (none/black/white/green/etc)

Definition at line 1040 of file include/ascii-chat/options/options.h.

Referenced by options_init(), options_set_int(), and options_t_new().

◆ color_mode

terminal_color_mode_t options_state::color_mode

◆ color_scheme_name

char options_state::color_scheme_name[64]

Color scheme name (e.g., "pastel", "nord")

Definition at line 1041 of file include/ascii-chat/options/options.h.

Referenced by options_init(), and options_t_new().

◆ compression_level

int options_state::compression_level

zstd compression level (1-9)

Definition at line 1008 of file include/ascii-chat/options/options.h.

Referenced by options_set_int(), and options_t_new().

◆ config_file

char options_state::config_file[256]

Config file path (–config)

Definition at line 961 of file include/ascii-chat/options/options.h.

◆ debug_backtrace_time

double options_state::debug_backtrace_time

Time parameter for –backtrace option (debug builds only)

Definition at line 1162 of file include/ascii-chat/options/options.h.

Referenced by options_init().

◆ debug_backtrace_time_explicit

bool options_state::debug_backtrace_time_explicit

True if –backtrace was explicitly provided.

Definition at line 1163 of file include/ascii-chat/options/options.h.

Referenced by options_init().

◆ debug_memory_report_interval

double options_state::debug_memory_report_interval

Interval in seconds for periodic memory reports (debug builds only)

Definition at line 1164 of file include/ascii-chat/options/options.h.

Referenced by options_init().

◆ debug_memory_report_interval_explicit

bool options_state::debug_memory_report_interval_explicit

True if –memory-report was explicitly provided.

Definition at line 1165 of file include/ascii-chat/options/options.h.

Referenced by options_init().

◆ debug_sync_state_time

double options_state::debug_sync_state_time

Time parameter for –sync-state option (debug builds only)

Definition at line 1160 of file include/ascii-chat/options/options.h.

Referenced by main(), and options_init().

◆ debug_sync_state_time_explicit

bool options_state::debug_sync_state_time_explicit

True if –debug-state was explicitly provided.

Definition at line 1161 of file include/ascii-chat/options/options.h.

Referenced by options_init().

◆ detected_mode

asciichat_mode_t options_state::detected_mode

Mode detected from command-line arguments.

Definition at line 954 of file include/ascii-chat/options/options.h.

Referenced by apply_mode_specific_defaults(), main(), options_init(), and validate_options_and_report().

◆ disable_keepawake

bool options_state::disable_keepawake

Explicitly disable system sleep prevention (allow OS to sleep)

Definition at line 1088 of file include/ascii-chat/options/options.h.

Referenced by options_t_new().

◆ discovery

bool options_state::discovery

Enable discovery session registration (default: false)

Definition at line 988 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), options_t_new(), and validate_options_and_report().

◆ discovery_database_path

char options_state::discovery_database_path[256]

~/.ascii-chat/discovery.db)

discovery database file path (default:

Definition at line 996 of file include/ascii-chat/options/options.h.

Referenced by options_init(), options_set_string(), and options_t_new().

◆ discovery_expose_ip

bool options_state::discovery_expose_ip

ACDS: explicitly allow public IP disclosure without verification (opt-in)

Definition at line 1115 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ discovery_insecure

bool options_state::discovery_insecure

ACDS: skip server key verification (MITM-vulnerable, requires explicit opt-in)

Definition at line 1116 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ discovery_port

int options_state::discovery_port

discovery server port (default: 27225)

Definition at line 990 of file include/ascii-chat/options/options.h.

Referenced by options_set_int(), and options_t_new().

◆ discovery_server

char options_state::discovery_server[256]

discovery server address (default: 127.0.0.1)

Definition at line 989 of file include/ascii-chat/options/options.h.

Referenced by options_init(), options_set_string(), and options_t_new().

◆ discovery_service_key

char options_state::discovery_service_key[256]

HTTPS URL)

discovery server public key for trust verification (SSH/GPG key or

Definition at line 993 of file include/ascii-chat/options/options.h.

Referenced by options_init(), and options_set_string().

◆ discovery_service_url

char options_state::discovery_service_url[256]

exclusive with discovery_port)

discovery server WebSocket URL (ws:// or wss://, mutually

Definition at line 991 of file include/ascii-chat/options/options.h.

◆ enable_keepawake

bool options_state::enable_keepawake

Explicitly enable system sleep prevention.

Definition at line 1087 of file include/ascii-chat/options/options.h.

Referenced by options_t_new().

◆ enable_upnp

bool options_state::enable_upnp

Enable UPnP/NAT-PMP port mapping for direct TCP (opt-in via –upnp)

Definition at line 1133 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ encode_audio

bool options_state::encode_audio

Enable Opus audio encoding.

Definition at line 1010 of file include/ascii-chat/options/options.h.

Referenced by options_init(), options_set_bool(), and options_t_new().

◆ encrypt_enabled

bool options_state::encrypt_enabled

Enable encryption.

Definition at line 1093 of file include/ascii-chat/options/options.h.

Referenced by options_init(), options_set_bool(), and options_t_new().

◆ encrypt_key

char options_state::encrypt_key[256]

SSH/GPG key file path (first –key flag, kept for compatibility)

Definition at line 1094 of file include/ascii-chat/options/options.h.

Referenced by client_crypto_init(), options_collect_identity_keys(), options_init(), and options_set_string().

◆ encrypt_keyfile

char options_state::encrypt_keyfile[256]

Alternative key file path.

Definition at line 1096 of file include/ascii-chat/options/options.h.

Referenced by options_init(), and options_set_string().

◆ fft

bool options_state::fft

Replace the video image with a live audio frequency spectrogram.

Definition at line 1057 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ flip_x

bool options_state::flip_x

Flip video horizontally (X-axis). Ignored for webcam on macOS.

Definition at line 1047 of file include/ascii-chat/options/options.h.

Referenced by options_init(), options_set_bool(), and options_t_new().

◆ flip_y

bool options_state::flip_y

Flip video vertically (Y-axis)

Definition at line 1048 of file include/ascii-chat/options/options.h.

Referenced by options_init(), options_set_bool(), and options_t_new().

◆ force_utf8

int options_state::force_utf8

UTF-8 support setting (auto/true/false)

Definition at line 1044 of file include/ascii-chat/options/options.h.

Referenced by options_init(), options_set_bool(), and options_t_new().

◆ fps

int options_state::fps

Target framerate (1-144, default: 60)

Definition at line 1045 of file include/ascii-chat/options/options.h.

Referenced by main(), options_init(), options_set_int(), and options_t_new().

◆ fps_counter

bool options_state::fps_counter

Show FPS counter overlay in top-right corner.

Definition at line 1079 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool().

◆ fps_explicitly_set

bool options_state::fps_explicitly_set

True if FPS was explicitly configured by the user.

Definition at line 1046 of file include/ascii-chat/options/options.h.

Referenced by options_init(), and options_t_new().

◆ grep_pattern

char options_state::grep_pattern[256]

PCRE2 regex for log filtering.

Definition at line 1083 of file include/ascii-chat/options/options.h.

Referenced by options_t_new().

◆ height

◆ help

bool options_state::help

Show help message.

Definition at line 959 of file include/ascii-chat/options/options.h.

Referenced by main(), and options_t_new().

◆ identity_keys

char options_state::identity_keys[32][256]

All identity keys (populated when –key is used multiple times)

Definition at line 1104 of file include/ascii-chat/options/options.h.

Referenced by discovery_session_create(), and options_collect_identity_keys().

◆ json

bool options_state::json

Enable JSON logging (–json flag)

Definition at line 1084 of file include/ascii-chat/options/options.h.

Referenced by options_init(), and options_t_new().

◆ lan_discovery

bool options_state::lan_discovery

Enable LAN service discovery via mDNS (client only)

Definition at line 1002 of file include/ascii-chat/options/options.h.

Referenced by client_main(), options_set_bool(), and options_t_new().

◆ log_file

char options_state::log_file[256]

Log file path.

Definition at line 1081 of file include/ascii-chat/options/options.h.

Referenced by main(), options_init(), and options_set_string().

◆ log_format_console_only

bool options_state::log_format_console_only

Apply log format only to console output.

Definition at line 1086 of file include/ascii-chat/options/options.h.

Referenced by options_init().

◆ log_level

log_level_t options_state::log_level

Log level threshold.

Definition at line 1082 of file include/ascii-chat/options/options.h.

Referenced by main(), options_init(), options_set_int(), options_t_new(), and parse_log_level_option().

◆ log_template

char options_state::log_template[256]

Custom log format string (formerly –log-format)

Definition at line 1085 of file include/ascii-chat/options/options.h.

◆ matrix_rain

bool options_state::matrix_rain

Matrix digital rain effect (false = disabled)

Definition at line 1078 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ max_clients

int options_state::max_clients

Maximum concurrent clients (server only)

Definition at line 981 of file include/ascii-chat/options/options.h.

Referenced by options_set_int(), and options_t_new().

◆ media_file

char options_state::media_file[256]

Media file path or "-" for stdin.

Definition at line 1027 of file include/ascii-chat/options/options.h.

Referenced by options_init(), and options_set_string().

◆ media_from_stdin

bool options_state::media_from_stdin

Reading from stdin (detected from "--file -")

Definition at line 1030 of file include/ascii-chat/options/options.h.

Referenced by options_init(), options_set_bool(), and options_t_new().

◆ media_loop

bool options_state::media_loop

Loop media file playback.

Definition at line 1029 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ media_seek_timestamp

double options_state::media_seek_timestamp

Seek to timestamp in seconds before playback.

Definition at line 1031 of file include/ascii-chat/options/options.h.

Referenced by options_init(), and options_t_new().

◆ media_url

char options_state::media_url[256]

Network URL (HTTP/HTTPS/YouTube/RTSP) - takes priority over media_file.

Definition at line 1028 of file include/ascii-chat/options/options.h.

Referenced by options_init().

◆ microphone_index

int options_state::microphone_index

Microphone device index (-1 = default)

Definition at line 1058 of file include/ascii-chat/options/options.h.

Referenced by options_set_int(), and options_t_new().

◆ microphone_sensitivity

float options_state::microphone_sensitivity

Microphone volume multiplier (0.0-1.0, default 1.0)

Definition at line 1060 of file include/ascii-chat/options/options.h.

Referenced by options_set_double(), and options_t_new().

◆ no_audio_mixer

bool options_state::no_audio_mixer

Disable audio mixer (debug)

Definition at line 1022 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ no_auth

bool options_state::no_auth

Disable authentication layer (–no-auth)

Definition at line 1098 of file include/ascii-chat/options/options.h.

Referenced by options_t_new().

◆ no_check_update

bool options_state::no_check_update

Disable automatic update checks (default: false = checks enabled)

Definition at line 1154 of file include/ascii-chat/options/options.h.

Referenced by options_init(), and options_t_new().

◆ no_compress

bool options_state::no_compress

Disable compression entirely.

Definition at line 1009 of file include/ascii-chat/options/options.h.

Referenced by options_init(), options_set_bool(), and options_t_new().

◆ no_encrypt

bool options_state::no_encrypt

Disable encryption (opt-out)

Definition at line 1097 of file include/ascii-chat/options/options.h.

Referenced by options_init(), options_set_bool(), options_t_new(), and session_settings_from_options().

◆ no_mdns_advertise

bool options_state::no_mdns_advertise

Disable mDNS service advertisement (server only)

Definition at line 1003 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ no_webrtc

bool options_state::no_webrtc

–no-webrtc: Disable WebRTC, use Direct TCP only

Definition at line 1122 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), options_t_new(), and validate_options_and_report().

◆ num_identity_keys

size_t options_state::num_identity_keys

Number of identity keys loaded (0 means single-key mode using encrypt_key)

Definition at line 1106 of file include/ascii-chat/options/options.h.

Referenced by discovery_session_create(), options_collect_identity_keys(), and options_t_new().

◆ palette_custom

char options_state::palette_custom[256]

◆ palette_custom_set

bool options_state::palette_custom_set

◆ palette_type

◆ password

char options_state::password[256]

◆ pause

bool options_state::pause

Start playback paused (toggle with spacebar)

Definition at line 1032 of file include/ascii-chat/options/options.h.

Referenced by options_init(), and options_t_new().

◆ port

◆ prefer_webrtc

bool options_state::prefer_webrtc

–prefer-webrtc: Try WebRTC before Direct TCP

Definition at line 1121 of file include/ascii-chat/options/options.h.

Referenced by discovery_session_process(), options_set_bool(), and options_t_new().

◆ quiet

bool options_state::quiet

Quiet mode (suppress logs)

Definition at line 1074 of file include/ascii-chat/options/options.h.

Referenced by log_set_terminal_output(), options_init(), options_set_bool(), and options_t_new().

◆ reconnect_attempts

int options_state::reconnect_attempts

Number of reconnection attempts (-1=infinite, 0=none)

Definition at line 1015 of file include/ascii-chat/options/options.h.

Referenced by options_set_int(), and options_t_new().

◆ render_file

char options_state::render_file[256]

Output file path (e.g. output.mp4)

Definition at line 1171 of file include/ascii-chat/options/options.h.

◆ render_font

char options_state::render_font[256]

Font family name or .ttf path (empty = platform default)

Definition at line 1173 of file include/ascii-chat/options/options.h.

◆ render_font_size

double options_state::render_font_size

Font size in points (default 12.0, supports e.g. 10.5)

Definition at line 1174 of file include/ascii-chat/options/options.h.

Referenced by options_t_new().

◆ render_mode

render_mode_t options_state::render_mode

Render mode (foreground/background/half-block)

Definition at line 1042 of file include/ascii-chat/options/options.h.

Referenced by options_set_int(), options_t_new(), parse_render_mode_option(), and session_settings_from_options().

◆ render_theme

int options_state::render_theme

0=dark 1=light 2=auto

Definition at line 1172 of file include/ascii-chat/options/options.h.

Referenced by options_t_new().

◆ require_client_identity

bool options_state::require_client_identity

ACDS: require clients to provide signed Ed25519 identity.

Definition at line 1112 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ require_client_verify

bool options_state::require_client_verify

Client: only connect to servers whose identity was verified by ACDS.

Definition at line 1114 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ require_server_identity

bool options_state::require_server_identity

ACDS: require servers to provide signed Ed25519 identity.

Definition at line 1111 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ require_server_verify

bool options_state::require_server_verify

Server: only accept clients who verified via ACDS.

Definition at line 1113 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ server_key

char options_state::server_key[256]

Expected server public key (client)

Definition at line 1099 of file include/ascii-chat/options/options.h.

Referenced by client_crypto_init(), options_init(), and options_set_string().

◆ session_string

char options_state::session_string[(38+1)]

Session string for ACDS discovery (calculated max size: 38 chars+ null)

Definition at line 982 of file include/ascii-chat/options/options.h.

Referenced by options_init(), and options_set_string().

◆ show_capabilities

bool options_state::show_capabilities

Show terminal capabilities and exit.

Definition at line 1043 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ snapshot_delay

double options_state::snapshot_delay

Snapshot delay in seconds.

Definition at line 1077 of file include/ascii-chat/options/options.h.

Referenced by options_set_double(), options_t_new(), and parse_snapshot_delay_option().

◆ snapshot_mode

bool options_state::snapshot_mode

Snapshot mode (one frame and exit)

Definition at line 1076 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ speakers_index

int options_state::speakers_index

Speakers device index (-1 = default)

Definition at line 1059 of file include/ascii-chat/options/options.h.

Referenced by options_set_int(), and options_t_new().

◆ speakers_volume

float options_state::speakers_volume

Speaker volume multiplier (0.0-1.0, default 1.0)

Definition at line 1061 of file include/ascii-chat/options/options.h.

Referenced by options_set_double(), and options_t_new().

◆ splash_screen

bool options_state::splash_screen

Show splash screen (default: true = show, use –no-splash-screen to hide)

Definition at line 1150 of file include/ascii-chat/options/options.h.

Referenced by options_init(), options_set_bool(), and options_t_new().

◆ splash_screen_explicitly_set

bool options_state::splash_screen_explicitly_set

True if splash screen was explicitly set by user.

Definition at line 1151 of file include/ascii-chat/options/options.h.

Referenced by options_init(), and options_t_new().

◆ status_screen

bool options_state::status_screen

Show status screen (default: true = show, use –no-status-screen to hide)

Definition at line 1152 of file include/ascii-chat/options/options.h.

Referenced by main(), options_init(), options_set_bool(), and options_t_new().

◆ status_screen_explicitly_set

bool options_state::status_screen_explicitly_set

True if status_screen was explicitly set by user.

Definition at line 1153 of file include/ascii-chat/options/options.h.

Referenced by options_init(), and options_t_new().

◆ stretch

bool options_state::stretch

Allow aspect ratio distortion.

Definition at line 1068 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ strip_ansi

bool options_state::strip_ansi

Strip ANSI escape sequences.

Definition at line 1080 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ stun_servers

char options_state::stun_servers[256]

ACDS: Comma-separated list of STUN server URLs.

Definition at line 1134 of file include/ascii-chat/options/options.h.

Referenced by options_init(), options_set_string(), and options_t_new().

◆ test_pattern

bool options_state::test_pattern

Use test pattern instead of webcam.

Definition at line 1021 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ turn_credential

char options_state::turn_credential[256]

ACDS: Credential/password for TURN authentication.

Definition at line 1137 of file include/ascii-chat/options/options.h.

Referenced by options_init(), options_set_string(), options_t_new(), and validate_options_and_report().

◆ turn_secret

char options_state::turn_secret[256]

ACDS: Shared secret for dynamic TURN credential generation (HMAC-SHA1)

Definition at line 1138 of file include/ascii-chat/options/options.h.

Referenced by options_init(), and options_set_string().

◆ turn_servers

char options_state::turn_servers[256]

ACDS: Comma-separated list of TURN server URLs.

Definition at line 1135 of file include/ascii-chat/options/options.h.

Referenced by nat_detect_quality(), options_init(), options_set_string(), and options_t_new().

◆ turn_username

char options_state::turn_username[256]

ACDS: Username for TURN authentication.

Definition at line 1136 of file include/ascii-chat/options/options.h.

Referenced by options_init(), options_set_string(), options_t_new(), and validate_options_and_report().

◆ verbose_level

unsigned short int options_state::verbose_level

Verbosity level (stackable -V)

Definition at line 1075 of file include/ascii-chat/options/options.h.

Referenced by options_init(), and options_t_new().

◆ version

bool options_state::version

Show version information.

Definition at line 960 of file include/ascii-chat/options/options.h.

Referenced by main(), options_init(), and options_t_new().

◆ video_codec

char options_state::video_codec[64]

Video codec (raw, hevc) - default: hevc.

Definition at line 1069 of file include/ascii-chat/options/options.h.

◆ waveform

bool options_state::waveform

Replace the video image with a live audio waveform.

Definition at line 1056 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ webcam_index

int options_state::webcam_index

Webcam device index (0 = first)

Definition at line 1020 of file include/ascii-chat/options/options.h.

Referenced by options_t_new(), and parse_webcam_index_option().

◆ webrtc

bool options_state::webrtc

Enable WebRTC mode for discovery session (default: true, P2P WebRTC)

Definition at line 995 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ webrtc_disable_turn

bool options_state::webrtc_disable_turn

–webrtc-disable-turn: Disable Stage 3 (TURN), use STUN only

Definition at line 1125 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), options_t_new(), and validate_options_and_report().

◆ webrtc_ice_timeout_ms

int options_state::webrtc_ice_timeout_ms

–webrtc-ice-timeout: ICE gathering timeout in milliseconds (default: 10000)

Definition at line 1127 of file include/ascii-chat/options/options.h.

Referenced by options_t_new().

◆ webrtc_reconnect_attempts

int options_state::webrtc_reconnect_attempts

–webrtc-reconnect-attempts: Number of retry attempts (default: 3)

Definition at line 1128 of file include/ascii-chat/options/options.h.

Referenced by options_t_new().

◆ webrtc_relay_only

bool options_state::webrtc_relay_only

–webrtc-relay-only: Require TURN relay candidates

Definition at line 1124 of file include/ascii-chat/options/options.h.

Referenced by discovery_session_process(), options_set_bool(), options_t_new(), and validate_options_and_report().

◆ webrtc_skip_host

bool options_state::webrtc_skip_host

–webrtc-skip-host: Skip host candidates, force STUN/TURN only

Definition at line 1126 of file include/ascii-chat/options/options.h.

Referenced by options_t_new().

◆ webrtc_skip_stun

bool options_state::webrtc_skip_stun

–webrtc-skip-stun: Skip Stage 2 (STUN), go to TURN

Definition at line 1123 of file include/ascii-chat/options/options.h.

Referenced by options_set_bool(), and options_t_new().

◆ websocket_port

int options_state::websocket_port

WebSocket server port (server/discovery-service only)

Definition at line 977 of file include/ascii-chat/options/options.h.

Referenced by apply_mode_specific_defaults(), options_init(), and options_t_new().

◆ websocket_tls_cert

char options_state::websocket_tls_cert[256]

WebSocket TLS certificate file path (server/discovery-service only)

Definition at line 978 of file include/ascii-chat/options/options.h.

Referenced by apply_mode_specific_defaults().

◆ websocket_tls_key

char options_state::websocket_tls_key[256]

WebSocket TLS private key file path (server/discovery-service only)

Definition at line 979 of file include/ascii-chat/options/options.h.

Referenced by apply_mode_specific_defaults().

◆ websocket_tls_key_password

char options_state::websocket_tls_key_password[256]

WebSocket TLS key password (server/discovery-service only)

Definition at line 980 of file include/ascii-chat/options/options.h.

◆ width

◆ yt_dlp_options

char options_state::yt_dlp_options[512]

Arbitrary yt-dlp options (e.g., "--cookies-from-browser=chrome --embed-subs")

Definition at line 1033 of file include/ascii-chat/options/options.h.


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