ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
send.h
Go to the documentation of this file.
1
21#pragma once
22
25#include "network/packet.h" // For packet_type_t
26#include "asciichat_errno.h"
27#include <stdint.h>
28#include <stddef.h>
29#include <stdbool.h>
30
31// =============================================================================
32// Generic Packet Sending
33// =============================================================================
34
49 size_t payload_len);
50
51// Video/ASCII frame functions moved to:
52// - acip_send_ascii_frame → lib/network/acip/server.h
53// - acip_send_image_frame → lib/network/acip/client.h
54
55// =============================================================================
56// Audio Sending
57// =============================================================================
58
68asciichat_error_t acip_send_audio_batch(acip_transport_t *transport, const float *samples, uint32_t num_samples,
69 uint32_t batch_count);
70
79asciichat_error_t acip_send_audio_opus(acip_transport_t *transport, const void *opus_data, size_t opus_len);
80
93asciichat_error_t acip_send_audio_opus_batch(acip_transport_t *transport, const void *opus_data, size_t opus_len,
94 const uint16_t *frame_sizes, uint32_t frame_count, uint32_t sample_rate,
95 uint32_t frame_duration);
96
97// =============================================================================
98// Control/Signaling
99// =============================================================================
100
108
116
117// Client control functions moved to lib/network/acip/client.h:
118// - acip_send_client_join, acip_send_client_leave
119// - acip_send_stream_start, acip_send_stream_stop
120// - acip_send_capabilities, acip_send_protocol_version
121//
122// Server control functions moved to lib/network/acip/server.h:
123// - acip_send_clear_console, acip_send_server_state
124
125// =============================================================================
126// Messages/Errors
127// =============================================================================
128
138
149 const char *message);
150
151// =============================================================================
152// ACDS (Discovery Server) Response Sending
153// =============================================================================
154
163
172
asciichat_error_t error_code
⚠️‼️ Error and/or exit() when things go bad.
acip_session_joined_t
acip_session_created_t
acip_session_info_t
unsigned short uint16_t
Definition common.h:57
unsigned int uint32_t
Definition common.h:58
unsigned char uint8_t
Definition common.h:56
asciichat_error_t
Error and exit codes - unified status values (0-255)
Definition error_codes.h:46
packet_type_t
Network protocol packet type enumeration.
Definition packet.h:281
ACIP protocol message structures and helpers.
Packet protocol implementation with encryption and compression support.
asciichat_error_t acip_send_audio_opus(acip_transport_t *transport, const void *opus_data, size_t opus_len)
Send Opus-encoded audio packet.
Definition send.c:122
asciichat_error_t packet_send_via_transport(acip_transport_t *transport, packet_type_t type, const void *payload, size_t payload_len)
Send arbitrary packet via transport (generic packet sender)
Definition send.c:40
asciichat_error_t acip_send_ping(acip_transport_t *transport)
Send ping packet.
Definition send.c:175
asciichat_error_t acip_send_session_joined(acip_transport_t *transport, const acip_session_joined_t *response)
Send SESSION_JOINED response packet.
Definition send.c:293
asciichat_error_t acip_send_remote_log(acip_transport_t *transport, uint8_t log_level, uint8_t direction, const char *message)
Send remote log packet.
Definition send.c:242
asciichat_error_t acip_send_error(acip_transport_t *transport, uint32_t error_code, const char *message)
Send error message packet.
Definition send.c:205
asciichat_error_t acip_send_session_created(acip_transport_t *transport, const acip_session_created_t *response)
Send SESSION_CREATED response packet.
Definition send.c:277
asciichat_error_t acip_send_pong(acip_transport_t *transport)
Send pong packet.
Definition send.c:184
asciichat_error_t acip_send_audio_opus_batch(acip_transport_t *transport, const void *opus_data, size_t opus_len, const uint16_t *frame_sizes, uint32_t frame_count, uint32_t sample_rate, uint32_t frame_duration)
Send batched Opus-encoded audio frames.
Definition send.c:130
asciichat_error_t acip_send_audio_batch(acip_transport_t *transport, const float *samples, uint32_t num_samples, uint32_t batch_count)
Send audio batch packet.
Definition send.c:90
asciichat_error_t acip_send_session_info(acip_transport_t *transport, const acip_session_info_t *info)
Send SESSION_INFO response packet.
Definition send.c:285
Transport instance structure.
Definition transport.h:169
Transport abstraction layer for ACIP protocol.