ascii-chat
Binary v0.15.83-53-gb711d8720
Library lib/v0.3.2-701-gb711d8720
Video chat in your terminal
Loading...
Searching...
No Matches
File List
Here is a list of all files with brief descriptions:
[detail level 123456]
 
docs
 
topics
 
include
 
ascii-chat
 
audio
 
buffer
 
common
 
crypto
 
debug
 
discovery
 
log
 
media
 
network
 
options
 
os
 
session
 
stats
 
terminal
 
tests
 
tooling
 
tui
 
ui
 
util
 
video
 
app_callbacks.h
Application-level callbacks for library code
 
asciichat_errno.h
Synchronized per-thread pending error stacks and value snapshots. SET_ERRNO pushes, CLEAR_ERRNO pops. Recovery scopes resolve one attempt's errors. See docs/topics/errno.dox for ownership and capacity contracts
 
buffer.h
 
common.h
⚙️ Common definitions, error codes, macros, and types shared throughout the application
 
embedded_resources.h
Embedded resource management for production builds
 
font.h
Font resolution and bundled font data
 
otel.h
 
paths.h
System paths configuration (generated by CMake)
 
ringbuffer.h
Lock-Free Ring Buffer and Frame Buffer Management
 
thread_pool.h
🧵 Generic thread pool abstraction for managing worker threads
 
uthash.h
 
compat
 
sys
 
unistd.h
 
lib
 
audio
 
analysis.c
Audio Analysis Implementation
 
audio.c
🔊 Audio capture and playback using PortAudio with buffer management
 
client_pipeline.cpp
Unified client-side audio processing pipeline with WebRTC AEC3
 
effects.c
 
format.c
 
mixer.c
🎚️ Real-time audio mixer with ducking, gain control, and multi-stream blending
 
opus.c
Opus audio codec implementation
 
processor.c
 
recording.c
 
spectral.c
 
test_pattern.c
 
visualization.c
 
wav_writer.c
Simple WAV file writer implementation for audio debugging
 
crypto
 
gpg
 
handshake
 
key_identity
 
ssh
 
crypto.c
🔐 Core cryptography: encryption/decryption, key exchange, authentication, and session rekeying with BearSSL
 
discovery_keys.c
Discovery Server Public Key Trust Management Implementation
 
https_keys.c
 
keys.c
 
keys_validation.c
 
known_hosts.c
📜 SSH known_hosts file parser for host key verification and trust management
 
pem.c
📄 PEM format encoding/decoding utilities for certificates and keys (adapted from BearSSL)
 
policy.c
 
record.c
 
regex.c
PCRE2-based regex patterns for cryptographic parsing
 
rekey.c
 
session.c
 
sha1.c
 
debug
 
debug_helpers.c
 
errno.c
 
mutex.c
Per-thread mutex lock stack for deadlock detection
 
named.c
Named object registry for debugging
 
stats.c
 
discovery
 
adjectives.c
Adjective wordlist for ACDS session naming
 
database.c
 
identity.c
 
key_set.c
 
nouns.c
Noun wordlist and client naming utilities
 
queries.h
 
queries_generated.h
 
session.c
 
strings.c
Session string generation and validation implementation
 
log
 
apple.c
Apple unified logging (os_log) integration
 
asan.c
 
colorize.c
Log message colorization for terminal output
 
format.c
Log format parser implementation
 
grep.c
 
io.c
IO capture implementation
 
json.c
📝 JSON structured logging output using yyjson
 
log.c
📝 Multi-level logging with terminal color support, file rotation, and async output
 
mmap.c
Lock-free memory-mapped text logging implementation
 
named.c
Format named objects in log messages (replaces hex addresses with type/name descriptions)
 
search.c
Interactive search filtering implementation
 
terminal.c
 
wasm.c
WASM logging support for routing to browser console
 
websocket.c
Libwebsockets logging integration
 
media
 
kitty
 
render
 
ffmpeg_decoder.c
FFmpeg-based media decoder implementation
 
ffmpeg_encoder.c
FFmpeg video/image file encoder for render-file output
 
font.c
 
input.c
 
playlist.c
 
source.c
Unified media source implementation
 
yt_dlp.c
Yt-dlp stream URL extraction implementation
 
network
 
acip
 
consensus
 
http
 
mdns
 
nat
 
packet
 
quic
 
rate_limit
 
tcp
 
webrtc
 
websocket
 
compression.c
🗜️ Fast zstd compression/decompression utilities for network payload optimization
 
connection.c
 
connection_endpoint.c
Shared endpoint normalization for TCP and WebSocket connections
 
crc32.c
CRC32-C with cached CPU dispatch and a portable table fallback
 
dns.c
DNS resolution utilities implementation
 
errors.c
Network error handling utilities implementation
 
establish.c
 
frame_validator.c
Frame validation implementation for IMAGE_FRAME packets
 
negotiation.c
 
network.c
🌐 Cross-platform socket I/O with timeout management and connection handling
 
parallel_connect.c
Parallel IPv4/IPv6 connection implementation
 
tailscale.c
Tailscale host identity helpers
 
update_checker.c
Update checker implementation with GitHub API and cache management
 
options
 
completions
 
config
 
manpage
 
parsing
 
registry
 
colorscheme.c
Color scheme management implementation and early initialization
 
common.c
Common utilities and helpers for option parsing
 
enums.c
Enum views backed by the option registry metadata
 
help_api.c
Public API for retrieving option help text
 
json.c
 
layout.c
Two-column layout implementation
 
levenshtein.c
Levenshtein distance algorithm for fuzzy string matching
 
manpage.c
Man page generation using modular architecture
 
options.c
⚙️ Main entry point for unified options parsing with mode detection
 
rcu.c
 
strings.c
Centralized enum and mode string conversion - single source of truth
 
stats
 
descriptors.c
 
runtime.c
 
stats.c
 
terminal
 
fd
 
tests
 
common.c
Common test utilities implementation
 
globals.c
🔗 Global symbol stubs for test executables to satisfy linker dependencies
 
logging.c
🧪 Test utilities for logging: stdout/stderr redirection and capture helpers
 
tooling
 
panic
 
query
 
tui
 
controller.c
 
errno_stacks.c
 
error_popup.c
 
input.c
 
invitation.c
 
keyboard_help.c
 
mdns.c
MDNS service discovery UI wrapper for interactive server selection
 
notice.c
 
prompt.c
 
render_progress.c
 
session.c
 
session_help.c
 
session_input.c
 
session_splash.c
 
session_status.c
 
shortcuts.c
 
splash.c
Intro and status screen display implementation with animated rainbow effects
 
stats.c
 
status.c
Status screen display with live log feed at FPS rate
 
sync.c
 
terminal_screen.c
Reusable "fixed header + scrolling logs" terminal screen abstraction
 
too_small.c
 
update_banner.c
Update available prompt screen implementation
 
ui
 
buttons.c
 
fps_counter.c
FPS counter implementation using rolling-window timestamp buffer
 
frame_buffer.c
Buffered terminal frame rendering implementation
 
help_menu.c
 
input.c
 
layout.c
 
output.c
 
popup.c
 
progress.c
 
scrollbar.c
 
selectable_list.c
 
table.c
 
text.c
 
viewport.c
 
util
 
aspect_ratio.c
📐 Terminal cell aspect ratio calculations for accurate image dimension scaling
 
display.c
Display width and centering utilities implementation
 
env.c
Environment variable utilities with stack-based prompt responses
 
flow_control.c
 
format.c
📊 Byte size formatting utilities for human-readable output (B, KB, MB, GB, TB, PB, EB)
 
fps.c
⏱️ FPS tracking utility implementation (nanosecond-precision)
 
image.c
🖼️ Safe overflow-checked buffer size calculations for images and video frames
 
ip.c
🌍 IPv4/IPv6 address parsing, validation, and formatting utilities
 
parsing.c
🔍 Safe string parsing utilities for integers, sizes, and protocol messages
 
password.c
🔑 Password prompting utilities with secure input and formatting
 
path.c
Cross-platform path manipulation with normalization and Windows/Unix separator handling
 
pcre2.c
PCRE2 compilation and match helpers
 
stdout_writer.c
 
string.c
🔤 String manipulation utilities: ASCII escaping, trimming, case conversion, and formatting
 
time.c
⏱️ High-precision timing utilities implementation
 
url.c
Production-grade URL parsing and validation using PCRE2
 
utf8.c
🔤 UTF-8 encoding and decoding with multi-byte character support
 
video
 
anim
 
ascii
 
h265
 
rgba
 
terminal
 
webcam
 
face_detect.cpp
 
face_follow.c
 
face_follow_image.c
 
app_callbacks.c
Application callback registration system
 
asciichat_errno.c
Bounded, synchronized error stacks with allocation-free recording
 
buffer.c
 
common.c
🔧 Core utilities: memory management, safe macros, and cross-platform helpers
 
event.c
 
musl_c23_compat.c
🔄 musl C23 compatibility wrappers for __isoc23_* symbol aliases (glibc 2.38+ compatibility)
 
otel.c
 
ringbuffer.c
🎯 Lock-free circular buffer for audio streaming with atomic operations
 
thread_pool.c
🧵 Generic thread pool implementation for managing worker threads
 
version.c
🏷️ Binary-embedded version information in custom ELF/Mach-O sections for runtime inspection
 
src
 
api-server
 
main.c
 
main.h
 
client
 
audio.c
🔊 Client audio management: capture thread, sample processing, and playback coordination
 
audio.h
Ascii-chat Client Audio Processing Management Interface
 
capture.c
📹 Client webcam capture: dedicated capture thread with frame rate limiting and network transmission
 
capture.h
Ascii-chat Client Media Capture Management Interface
 
connection.c
 
connection.h
 
connection_internal.h
 
crypto.c
 
crypto.h
 
display.c
💻 Client terminal display: TTY detection, frame rendering, and interactive/stdout output routing
 
display.h
Ascii-chat Client Display Management Interface
 
keepalive.c
💓 Client keepalive: periodic ping/pong exchange for reliable connection failure detection
 
keepalive.h
Ascii-chat Client Connection Keepalive Management Interface
 
main.c
Ascii-chat Client Main Entry Point
 
main.h
Ascii-chat Client Mode Entry Point Header
 
protocol_adapter.c
 
protocol_adapter.h
 
server.c
🌐 Client connection manager: TCP connection, reconnection with exponential backoff, and thread-safe transmission
 
server.h
Ascii-chat Client Server Connection Management Interface
 
webrtc.c
Client-side WebRTC signaling callback implementations
 
webrtc.h
Client-side WebRTC signaling callback implementations
 
common
 
session
 
http_renderer.c
 
http_renderer.h
 
http_renderer_process.c
 
discovery
 
main.c
Ascii-chat Discovery Mode Entry Point
 
main.h
Ascii-chat Discovery Mode Entry Point Header
 
nat.c
NAT quality detection for discovery mode host selection
 
nat.h
NAT quality detection for discovery mode host selection
 
negotiate.c
Host negotiation logic for discovery mode
 
negotiate.h
Host negotiation logic for discovery mode
 
session.c
 
session.h
 
webrtc.c
WebRTC P2P signaling for discovery mode failover
 
webrtc.h
WebRTC P2P signaling for discovery mode failover
 
discovery-service
 
main.c
 
main.h
 
server.c
 
server.h
 
signaling.c
 
signaling.h
 
mcp-server
 
downloads.c
 
http.c
 
main.c
 
mcp.h
 
protocol.c
 
request.c
 
stdio.c
 
mirror
 
main.c
Local media mirror mode: view webcam or media files as ASCII art without network
 
main.h
Ascii-chat Mirror Mode Interface
 
server
 
client.c
 
client.h
Per-client state management and lifecycle orchestration
 
connections.c
 
connections.h
 
main.c
 
main.h
 
protocol.c
 
protocol.h
Server packet processing and protocol implementation
 
render.c
 
render.h
Per-client rendering threads with rate limiting
 
stats.c
📊 Server performance monitoring: resource utilization tracking, client metrics, and health reporting
 
stats.h
Server performance statistics tracking
 
stream.c
🎬 Multi-client video mixer: frame generation, ASCII conversion, and per-client personalized rendering
 
stream.h
Multi-client video mixing and ASCII frame generation
 
session
 
h265
 
strings
 
main.c
TODO: Add Doxygen documentation for session string generation utility
 
tooling
 
panic
 
query
 
web
 
bindings
 
common
 
renderer
 
client.c
 
client.h
 
main_wasm.c
WASM entry point that initializes the module without running a blocking loop
 
mirror.c
 
mirror.h
 
peer_crypto.c
 
peer_crypto.h
 
security.c
 
security.h
 
main.c
Ascii-chat Unified Binary - Mode Dispatcher and Entry Point
 
main.h
Global application exit and signal handling API