call: P2P аудиозвонки — сигналинг, релей медиа, аудио-контур, headless/desktop/android
- src/call/: сигналинг (call.c, call_proto.h, ETCP_RT_ID_CALL 0x36) + релей медиа + headless аудио-сокет (call_headless.c, call_audio_bind) + Opus/jitter/тоны - chat: события CHAT_EVT_CALL_* (34–40), CHAT_EVT_DM_MESSAGES (41), DM-трамплины - chatgui: call window, miniaudio I/O, audio_frame_ring, test_audio_jitter - chatgui-android: CallScreen/IncomingCallDialog, аудио-роутинг, JNI, рингтон - tests: test_call, test_call_headless
This commit is contained in:
1 parent
0157f7f96b
commit
b11e77e4c0
78 files changed
+7053
-70
No files matched your search
@@ -70,6 +70,36 @@ int dm_list_conversations_json(struct UTUN_INSTANCE* inst, char* buf, size_t buf
|
||||
int dm_list_messages_json(struct UTUN_INSTANCE* inst, const char* conv_id, int count, int offset,
|
||||
char* buf, size_t buf_size, size_t* out_len);
|
||||
|
||||
/* ── Трамплины для gui_bridge (GUI → uasync) ── */
|
||||
|
||||
/* Начать беседу с узлом из общей группы. Трамплин сам находит x25519/ed25519
|
||||
* пира в таблице nodes (как headless hc_handle_dm_start), после чего вызывает
|
||||
* dm_start(). Результат — событие CHAT_EVT_DM_CONV_UPDATED. */
|
||||
struct dm_start_req {
|
||||
struct UTUN_INSTANCE* inst;
|
||||
uint64_t peer_node_id;
|
||||
char source_ch_id[64];
|
||||
char peer_name[128];
|
||||
};
|
||||
void dm_start_trampoline(void* arg);
|
||||
|
||||
/* Отправить текстовое сообщение в беседу (content_type="text"). */
|
||||
struct dm_send_req {
|
||||
struct UTUN_INSTANCE* inst;
|
||||
char conv_id[64];
|
||||
uint32_t data_len;
|
||||
uint8_t* data; /* data_len байт (выделяется в хвосте структуры) */
|
||||
};
|
||||
void dm_send_trampoline(void* arg);
|
||||
|
||||
/* Запросить расшифрованные сообщения беседы. Результат — CHAT_EVT_DM_MESSAGES:
|
||||
* [conv_id_len:1][conv_id:var][count:2]([dir:1][seq:8][ts:8][author:8][ct_len:1][ct:var][data_len:2][data:var])* */
|
||||
struct dm_messages_req {
|
||||
struct UTUN_INSTANCE* inst;
|
||||
char conv_id[64];
|
||||
};
|
||||
void dm_messages_trampoline(void* arg);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in new issue
Block a user