ascii-chat
Binary v0.15.83-53-gb711d8720
Library lib/v0.3.2-701-gb711d8720
Video chat in your terminal
Loading...
Searching...
No Matches
frame_validation.h File Reference

Go to the source code of this file.

Functions

asciichat_error_t session_frame_validate (const char *text, size_t length, uint32_t width, uint32_t height)
asciichat_error_t session_frame_validate_contract (const char *text, size_t length, uint32_t width, uint32_t height, const acip_render_settings_t *settings, uint32_t effects)

Function Documentation

◆ session_frame_validate()

asciichat_error_t session_frame_validate ( const char * text,
size_t length,
uint32_t width,
uint32_t height )

Definition at line 205 of file frame_validation.c.

205 {
206 return session_frame_validate_contract(text, length, width, height, NULL, 0);
207}
unsigned int height
Definition fft.c:23
unsigned int width
Definition fft.c:23
asciichat_error_t session_frame_validate_contract(const char *text, size_t length, uint32_t width, uint32_t height, const acip_render_settings_t *settings, uint32_t effects)

References height, session_frame_validate_contract(), and width.

Referenced by mirror_render_audio_visualization().

◆ session_frame_validate_contract()

asciichat_error_t session_frame_validate_contract ( const char * text,
size_t length,
uint32_t width,
uint32_t height,
const acip_render_settings_t * settings,
uint32_t effects )

Definition at line 193 of file frame_validation.c.

194 {
195 asciichat_error_t result = validate_contract(text, length, width, height, settings, effects);
196 ascii_otel_metric(ASCII_OTEL_METRIC_FRAME_VALIDATION_CHECKED, 1);
197 if (result != ASCIICHAT_OK) {
198 asciichat_error_context_t error = {0};
199 const char *reason = HAS_ERRNO(&error) ? error.context_message : asciichat_error_string(result);
200 ascii_otel_frame_rejected("rendered_frame", reason, length, width, height, result);
201 }
202 return result;
203}
#define HAS_ERRNO(context)
asciichat_error_t
Error and exit codes - unified status values (0-255).
Definition error_codes.h:44
@ ASCIICHAT_OK
Definition error_codes.h:46
void ascii_otel_metric(ascii_otel_metric_t metric, double value)
Definition otel.c:161
void ascii_otel_frame_rejected(const char *validator, const char *reason, size_t bytes, uint32_t width, uint32_t height, asciichat_error_t code)
Definition otel.c:746

References ascii_otel_frame_rejected(), ascii_otel_metric(), ASCIICHAT_OK, asciichat_error_context_t::context_message, HAS_ERRNO, height, and width.

Referenced by client_validate_frame(), mirror_convert_frame(), and session_frame_validate().