|
ascii-chat 0.8.38
Real-time terminal-based video chat with ASCII art conversion
|
📹 Unified media capture implementation More...
Go to the source code of this file.
Data Structures | |
| struct | session_capture_ctx |
| Internal session capture context structure. More... | |
Macros | |
| #define | SESSION_MAX_FRAME_WIDTH 480 |
| Maximum frame width for network transmission (bandwidth optimization) | |
| #define | SESSION_MAX_FRAME_HEIGHT 270 |
| Maximum frame height for network transmission (bandwidth optimization) | |
Functions | |
| session_capture_ctx_t * | session_mirror_capture_create (const session_capture_config_t *config) |
| session_capture_ctx_t * | session_network_capture_create (uint32_t target_fps) |
| session_capture_ctx_t * | session_capture_create (const session_capture_config_t *config) |
| void | session_capture_destroy (session_capture_ctx_t *ctx) |
| image_t * | session_capture_read_frame (session_capture_ctx_t *ctx) |
| image_t * | session_capture_process_for_transmission (session_capture_ctx_t *ctx, image_t *frame) |
| void | session_capture_sleep_for_fps (session_capture_ctx_t *ctx) |
| bool | session_capture_at_end (session_capture_ctx_t *ctx) |
| bool | session_capture_is_valid (session_capture_ctx_t *ctx) |
| double | session_capture_get_current_fps (session_capture_ctx_t *ctx) |
| uint32_t | session_capture_get_target_fps (session_capture_ctx_t *ctx) |
| bool | session_capture_has_audio (session_capture_ctx_t *ctx) |
| size_t | session_capture_read_audio (session_capture_ctx_t *ctx, float *buffer, size_t num_samples) |
| bool | session_capture_using_file_audio (session_capture_ctx_t *ctx) |
| void * | session_capture_get_media_source (session_capture_ctx_t *ctx) |
| void * | session_capture_get_audio_context (session_capture_ctx_t *ctx) |
| void | session_capture_set_audio_context (session_capture_ctx_t *ctx, void *audio_ctx) |
| asciichat_error_t | session_capture_sync_audio_to_video (session_capture_ctx_t *ctx) |
📹 Unified media capture implementation
Implements the session capture abstraction layer for unified media source handling across client, mirror, and discovery modes.
Definition in file lib/session/capture.c.
| #define SESSION_MAX_FRAME_HEIGHT 270 |
Maximum frame height for network transmission (bandwidth optimization)
Definition at line 36 of file lib/session/capture.c.
| #define SESSION_MAX_FRAME_WIDTH 480 |
Maximum frame width for network transmission (bandwidth optimization)
Definition at line 33 of file lib/session/capture.c.
| bool session_capture_at_end | ( | session_capture_ctx_t * | ctx | ) |
Definition at line 481 of file lib/session/capture.c.
References media_source_at_end().
Referenced by session_render_loop().
| session_capture_ctx_t * session_capture_create | ( | const session_capture_config_t * | config | ) |
Definition at line 197 of file lib/session/capture.c.
References adaptive_sleep_init(), fps_init(), media_source_create(), media_source_destroy(), media_source_has_audio(), media_source_seek(), media_source_set_loop(), platform_sleep_us(), safe_snprintf(), and time_get_ns().
Referenced by capture_init(), display_init(), session_mirror_capture_create(), and session_participant_start_video_capture().
| void session_capture_destroy | ( | session_capture_ctx_t * | ctx | ) |
Definition at line 358 of file lib/session/capture.c.
References media_source_destroy().
Referenced by capture_cleanup(), display_cleanup(), session_client_like_run(), and session_participant_destroy().
| void * session_capture_get_audio_context | ( | session_capture_ctx_t * | ctx | ) |
Definition at line 564 of file lib/session/capture.c.
Referenced by session_handle_keyboard_input().
| double session_capture_get_current_fps | ( | session_capture_ctx_t * | ctx | ) |
Definition at line 493 of file lib/session/capture.c.
References time_elapsed_ns(), and time_get_ns().
| void * session_capture_get_media_source | ( | session_capture_ctx_t * | ctx | ) |
Definition at line 557 of file lib/session/capture.c.
Referenced by session_client_like_run(), session_handle_keyboard_input(), and session_render_loop().
| uint32_t session_capture_get_target_fps | ( | session_capture_ctx_t * | ctx | ) |
Definition at line 509 of file lib/session/capture.c.
Referenced by session_render_loop().
| bool session_capture_has_audio | ( | session_capture_ctx_t * | ctx | ) |
Definition at line 516 of file lib/session/capture.c.
| bool session_capture_is_valid | ( | session_capture_ctx_t * | ctx | ) |
Definition at line 489 of file lib/session/capture.c.
| image_t * session_capture_process_for_transmission | ( | session_capture_ctx_t * | ctx, |
| image_t * | frame | ||
| ) |
Definition at line 425 of file lib/session/capture.c.
References image_new(), image_resize(), SESSION_MAX_FRAME_HEIGHT, and SESSION_MAX_FRAME_WIDTH.
| size_t session_capture_read_audio | ( | session_capture_ctx_t * | ctx, |
| float * | buffer, | ||
| size_t | num_samples | ||
| ) |
Definition at line 523 of file lib/session/capture.c.
References audio_ring_buffer_read(), and media_source_read_audio().
| image_t * session_capture_read_frame | ( | session_capture_ctx_t * | ctx | ) |
Definition at line 383 of file lib/session/capture.c.
References fps_frame_ns(), media_source_pause(), media_source_read_video(), time_elapsed_ns(), and time_get_ns().
Referenced by session_render_loop().
| void session_capture_set_audio_context | ( | session_capture_ctx_t * | ctx, |
| void * | audio_ctx | ||
| ) |
Definition at line 571 of file lib/session/capture.c.
Referenced by session_client_like_run().
| void session_capture_sleep_for_fps | ( | session_capture_ctx_t * | ctx | ) |
Definition at line 472 of file lib/session/capture.c.
References adaptive_sleep_do().
| asciichat_error_t session_capture_sync_audio_to_video | ( | session_capture_ctx_t * | ctx | ) |
Definition at line 577 of file lib/session/capture.c.
References media_source_sync_audio_to_video().
| bool session_capture_using_file_audio | ( | session_capture_ctx_t * | ctx | ) |
Definition at line 550 of file lib/session/capture.c.
| session_capture_ctx_t * session_mirror_capture_create | ( | const session_capture_config_t * | config | ) |
Definition at line 146 of file lib/session/capture.c.
References session_capture_create().
Referenced by session_client_like_run().
| session_capture_ctx_t * session_network_capture_create | ( | uint32_t | target_fps | ) |
Definition at line 156 of file lib/session/capture.c.
References adaptive_sleep_init(), fps_init(), safe_snprintf(), and time_get_ns().
Referenced by session_client_like_run().