ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
server/render.h
Go to the documentation of this file.
1
6#pragma once
7
8#include "client.h"
9
10// Per-client render thread functions
11void *client_video_render_thread(void *arg);
12void *client_audio_render_thread(void *arg);
13
14// Render thread lifecycle management
17
18// Render timing control - match platform-specific client FPS for optimal performance
19#ifdef _WIN32
20#define VIDEO_RENDER_FPS 60 // Windows with timeBeginPeriod(1) can handle 60 FPS
21#else
22#define VIDEO_RENDER_FPS 60 // Linux/macOS can handle higher rates
23#endif
24// Audio mixing runs at 100 Hz, while each outgoing 960-sample Opus frame at
25// 48 kHz is queued every 20 ms.
26#define AUDIO_PACKET_FPS 50
void stop_client_render_threads(client_info_t *client)
Stop and cleanup per-client rendering threads.
void * client_video_render_thread(void *arg)
Interruptible sleep function with platform-specific optimizations.
void * client_audio_render_thread(void *arg)
Main audio rendering thread function for individual clients.
int create_client_render_threads(server_context_t *server_ctx, client_info_t *client)
Create and initialize per-client rendering threads.
Client-side H.265 media capture and encoding pipeline.
Per-client state structure for server-side client management.
Server context - encapsulates all server state.