Commit Graph
130 Commits
Author SHA1 Message Date
evgeny 7f9eef8579 Add shared absolute video playout scheduler with bounded audio phase 2026-10-15 15:54:53 +02:00
evgeny 96e8f6c0ac Test real decoder fixtures and malformed video parameter sets 2026-10-14 23:13:25 +02:00
evgeny ce2560ef4b Wire shared video validator and log negotiated profiles 2026-10-14 23:08:46 +02:00
evgeny 57a59df983 Bind shared call video port to desktop and Android core lifetime 2026-10-14 22:36:03 +02:00
evgeny b466ec30e3 Acknowledge video capabilities before sending frame data 2026-10-14 20:48:58 +02:00
evgeny b00c6a2b6d Test call video negotiation and frame wire boundaries 2026-10-14 20:44:42 +02:00
evgeny 801050bacb Exercise video rate feedback with simulated channel changes 2026-10-14 18:41:33 +02:00
evgeny 859bb733af Build and test router delivery history boundaries 2026-10-14 18:33:05 +02:00
evgeny f5d112a712 Share bounded media publication and send telemetry across frontends 2026-10-14 02:32:14 +02:00
evgeny cd8a5392d5 Expose source codec selection and aggregate send telemetry through JNI 2026-10-14 01:09:30 +02:00
evgeny b6652c7c7f Record unique acknowledged packets at the instance transport boundary 2026-10-14 01:06:56 +02:00
evgeny f655f2c1d5 Keep playback audio compatible with the Android voice build 2026-10-13 22:46:02 +02:00
evgeny dc7cebaa65 Register indexed media reads and retain only two working blocks 2026-10-13 22:12:51 +02:00
evgeny 2fac28b7e9 Build and register the shared stream playback controller test 2026-10-13 22:04:16 +02:00
evgeny 5c23c10c04 Register audiovisual stream sources and regression target 2026-10-12 01:46:06 +02:00
evgeny ff69552a61 Measure owned endpoint mapping and inbound reachability separately 2026-10-12 00:01:40 +02:00
evgeny ef48fa2a37 Enable automatic upstream selection for subscriptions with lifecycle-safe cleanup 2026-10-12 00:01:39 +02:00
evgeny e90ad5acbd Account stream demand and confirm sustained queue pressure 2026-10-12 00:01:39 +02:00
evgeny c2179b3959 Implement NCD stream issuances, ring cursors and routed reverse 2026-10-12 00:01:39 +02:00
evgeny b31aa9f71d Retain stream block paths and locate gaps in ring delivery 2026-10-12 00:01:39 +02:00
evgeny 30106c8f93 Attach stream subscriptions to CHAT lifecycle and member profiles 2026-10-12 00:01:39 +02:00
evgeny ec82d95a03 Add signed FEC stream core and source buffering 2026-10-12 00:01:38 +02:00
evgeny 2c5deafe56 Add independent STUN NAT probes with RFC 5780 discovery 2026-10-11 23:35:47 +02:00
evgeny a069d11ef9 Protect REALITY STCP traffic with authenticated TLS-like records 2026-10-07 12:30:45 +02:00
evgeny a49cf5434e Add randomized ETCP padding and isolate STCP CTR streams per connection 2026-10-07 10:45:42 +02:00
evgeny 48d7f2b21b Build poll modules and adapt media insertion callbacks 2026-10-06 21:24:53 +02:00
evgeny 6437bf780b Include feedback source in the core library source list 2026-10-06 20:09:48 +02:00
evgeny 8121f93d2e Build feedback model and expose committed state events 2026-10-06 20:06:38 +02:00
evgeny 56897368b3 Own group avatar synchronization in the chat service lifecycle 2026-10-06 13:41:55 +02:00
evgeny 78a655bb05 Add asynchronous member file storage and desktop browser 2026-10-05 18:44:58 +02:00
evgeny ba7146f90a Fix HTTP proxy framing, keep-alive and stream lifecycle 2026-10-05 09:27:23 +02:00
evgeny 20a1211e09 Add GPLv3 licensing and bundle third-party notices 2026-10-04 14:18:18 +02:00
evgeny 1b3794e9f9 Include common attachment preparation in both core targets 2026-10-01 17:50:46 +03:00
evgeny c7310e1fad Register shared voice encoding in core build targets 2026-10-01 17:43:10 +03:00
evgeny 72d1d3f582 Validate PM attachment metadata before committing messages 2026-10-01 17:41:19 +03:00
evgeny 55c9d79a01 Integrate atomic media registration and orderly transfer/worker shutdown 2026-10-01 15:53:53 +03:00
evgeny 3d0ab35efe Register file transfer and DM media services in the common core 2026-10-01 15:22:10 +03:00
evgeny 1176411b79 radio: Silero VAD + auto-PTT; chatgui/android: app icon and background 2026-09-29 16:19:25 +03:00
evgeny e1946b208d Preserve proxy TCP streams across connect, backpressure and FIN 2026-09-29 04:00:34 +03:00
evgeny 3e25bcef02 Refactor Merkle sync into bounded bidirectional rounds with atomic member updates 2026-09-27 14:44:39 +03:00
evgeny 3131dcbb7c Fix ETCP session recovery and router lifecycle; confirm chat invites before publishing 2026-09-27 02:51:47 +03:00
evgeny d237dfec7c diag: кольцевой трейс вызовов teardown + дамп при SIGSEGV (размотка UAF link close) 2026-09-22 20:52:02 +03:00
evgeny b96ed8bd00 radio: PTT-радио в каналах (src/radio + chatgui + chatgui-android)
Новый модуль src/radio (radio/radio_audio/radio_headless) — push-to-talk
радио поверх topo-групп, доставка аудио в канал, headless-режим и тесты.
Интеграция в chatgui (ptt_hotkey_manager, radio_audio_engine, радионастройки,
вызовы) и chatgui-android (RadioAudioEngine, RadioOverlayService, UI).
2026-09-19 17:09:00 +03:00
evgeny b11e77e4c0 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
2026-09-16 10:17:57 +03:00
evgeny 73fe99b33f dm: прямой обмен сообщениями (DM) + soundtouch + архитектура звонков
- src/dm/: dm_core/dm_crypto/dm_mailbox — прямой обмен сообщениями (DM)
- lib/soundtouch-master/: vendored SoundTouch (изменение темпа/высоты аудио)
- doc/dm_arch.md, doc/chat_call_arch.md: архитектура DM и звонков
- tests: test_dm.c, test_dm_e2e.c
- chat: рефакторинг chat_* модулей, member_sync, invite_build
- chatgui/chatgui-android: синхронизация с новым API чата
- lib/u_async, debug_config, utun_instance: сопутствующие изменения
2026-09-15 21:09:17 +03:00
evgeny 75e39d2fee chat_join: модуль join-протокола, invite-ссылки v2, синхронизация мемберов 2026-09-14 19:57:27 +03:00
evgeny d0dfa97a47 transport: SOCKS5-прокси для ETCP-линков (CONNECT + UDP ASSOCIATE + пинги) 2026-09-14 00:24:11 +03:00
evgeny ddfffad1ed conn: сопоставление сокетов по ролям (direct/nat/local) + hairpin; NTP-детект оффлайна
- sock_match: единая классификация сокетов (DIRECT/NAT/LOCAL) и адресов (PUB/PRIV/UNREACH)
- eim приравнен к direct; на приватный адрес — только с приватного интерфейса;
  оба EIM за одним NAT (одинаковый публичный IP) — только через LAN
- topo_node: LOCAL-сокеты рекламируются (INTERFACE), private скрыт,
  NAT-адрес не рекламируется для strict и при оффлайне
- ntp: флаг reachable по циклам + пере-анонс nodeinfo при смене доступности
- cm_direct_add_links / ncd_create_links / conn_match_candidate_sockets на sock_match
- test_sock_match: unit-тесты классификации и сопоставления
2026-09-13 16:48:00 +03:00
evgeny edb3bb36e1 reality: TLS-камуфляж для STCP (ClientHello/ServerHello + релей на реальный сайт) 2026-09-10 01:11:26 +03:00
evgeny 1855c61275 video: отправка видео-сообщений (FFmpeg пробинг+транскод H.264/AAC MP4)
- src/video/: video_probe/video_get_info/video_transcode_start (FFmpeg, HAVE_FFMPEG)
- chat_core/chat_msg: media_video флаг, chat_core_submit_media_message, транскод перед index
- headless: команда attach с --video
- chatgui: диалог 'Как видео' + прогресс транскода + sendVideoAttachment
- FFmpeg в сборке (configure.ac, Makefile.am, chatgui CMake, build_nix.sh)
- debug: категория DEBUG_CATEGORY_VIDEO
2026-09-08 00:41:04 +03:00