Commit Graph
848 Commits
Author SHA1 Message Date
evgeny 217e5795bf Раздели PCM-сессии и исправь частоту и перемотку звука 2026-10-02 02:00:50 +03:00
evgeny 40b974b29c Исправь потоковый AGC и применяй mute после AEC 2026-10-02 01:56:10 +03:00
evgeny bdcf8b5634 Сохрани накопленные исправления аудио, async и диагностики 2026-10-02 01:49:32 +03:00
evgeny 203ae61eda Share bounded thumbnail workers and keep PM downloads in DM transport 2026-10-01 19:12:25 +03:00
evgeny 05476fb102 Test Qt voice file validation and decoder cancellation 2026-10-01 18:56:57 +03:00
evgeny 3b0609fe76 Reject corrupt voice containers and remove unused synchronous playback 2026-10-01 18:51:44 +03:00
evgeny 20322e7ecb Show PM voice and video delivery status in both shared renderers 2026-10-01 18:49:59 +03:00
evgeny be8dbcf25e Remove duplicate GUI voice encoding and keep shared worker codec 2026-10-01 18:48:09 +03:00
evgeny 225e11265f Connect Qt preparation notifications to the conversation view 2026-10-01 18:39:31 +03:00
evgeny 6da6471204 Apply task-scoped media preparation events to the shared Qt composer 2026-10-01 18:39:31 +03:00
evgeny e4a57970f0 Show preparation state for the current Qt conversation only 2026-10-01 18:39:31 +03:00
evgeny 55b21fdcda Forward pinned attachment preparation events to Qt 2026-10-01 18:37:49 +03:00
evgeny 318d72708c Preserve voice autoplay ordering while decoding in a worker 2026-10-01 18:29:43 +03:00
evgeny 172cc3a649 Update shared Qt playback controls after background decoding 2026-10-01 18:29:07 +03:00
evgeny d4a27d1975 Decode voice files asynchronously before starting Qt playback 2026-10-01 18:27:44 +03:00
evgeny c77cb9bb0a Adopt decoded voice buffers without large copies on the Qt thread 2026-10-01 18:27:44 +03:00
evgeny c58b92ecd7 Render typed PM media using shared Qt message roles 2026-10-01 17:57:43 +03:00
evgeny a281165450 Keep channel download commands out of the shared message delegate 2026-10-01 17:56:29 +03:00
evgeny 4f76b4d765 Dispatch Qt attachments using the target captured by the composer 2026-10-01 17:54:48 +03:00
evgeny d1f03f2f80 Enable shared Qt voice and video composition for PM 2026-10-01 17:53:41 +03:00
evgeny 0d3f2952c1 Move Qt recording buffers to background preparation without copies 2026-10-01 17:52:38 +03:00
evgeny 934f1ccd1f Use the existing diagnostic macros for desktop PM errors 2026-10-01 16:32:14 +03:00
evgeny 7fee3ec551 Render asynchronous PM history and submit desktop file sends 2026-10-01 16:24:09 +03:00
evgeny 1ceb09062f Show PM file delivery state without invoking group downloads 2026-10-01 16:22:54 +03:00
evgeny 570f3dfab3 Enable original file attachments in the desktop PM composer 2026-10-01 16:22:32 +03:00
evgeny fe1d29f007 Check refill below the 60 ms reserve including SoundTouch 2026-10-01 02:59:50 +03:00
evgeny 5b0262d53f Diagnose refill expectation with the corrected reserve 2026-10-01 02:57:18 +03:00
evgeny 7d9f13b8bc Test startup backlog independently of delivery jitter 2026-10-01 02:51:04 +03:00
evgeny 5487bc8c20 call: suppress loss tone until first received PCM 2026-10-01 02:08:17 +03:00
evgeny 72b5a9887f chatgui: measure duplex audio stalls and record SM call evidence 2026-10-01 01:36:34 +03:00
evgeny 111432aa64 conn_mgr: race connection probes and report call path with correct RTT 2026-10-01 00:42:47 +03:00
evgeny 1c51df039f Fix call gap tone to follow 500ms of missing jitter PCM 2026-09-30 21:14:37 +03:00
evgeny fb37ca747a 1 2026-09-30 17:37:13 +03:00
evgeny 2d21c53b4b Improve call buffering, CM handle lifecycle and radio PTT controls 2026-09-30 17:31:53 +03:00
evgeny 7ebc282eb2 Prioritize supernodes in invites and update chat background and ringtone 2026-09-30 12:56:59 +03:00
evgeny 0d44ada922 Improve Android radio capture lifecycle, VAD and PTT controls 2026-09-30 12:25:42 +03:00
evgeny f12f61d7ee call: add SpeexDSP AEC (acoustic echo cancellation) for desktop + Android 2026-09-29 17:01:30 +03:00
evgeny 1176411b79 radio: Silero VAD + auto-PTT; chatgui/android: app icon and background 2026-09-29 16:19:25 +03:00
evgeny ce1f23fe46 Radio: stereo capture/playback with mono fallback; CAMCORDER source; bump RADIO_MAX_OPUS
- stereo capture: Android AudioRecord stereo (CAMCORDER source for stereo,
  voice sources fall back to CAMCORDER) + desktop separate miniaudio
  capture/playback devices (no asymmetric duplex)
- Opus stereo encode/decode, voice_jitter stereo (per-channel frame_size,
  slot-based SoundTouch)
- radio_audio_start takes explicit capture_channels (stereo->mono fallback)
- RADIO_MAX_OPUS 256->512 (128kbps stereo frames up to 320B)
- radio_capture_stereo setting + desktop radio settings UI (opus mode/bitrate,
  capture stereo)
- radio_send_to send stats logging (etcp_send ok/fail per second)
2026-09-29 02:31:41 +03:00
evgeny 72fee9e245 Separate core, UTUN and chat lifecycles with owned asynchronous work 2026-09-28 11:39:08 +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 b90dc752d2 call: две фазы исходящего вызова — индикация + разные гудки (desktop/Android) 2026-09-23 19:16:53 +03:00
evgeny 7198154106 chatgui: клик по медиа с отсутствующим файлом — сброс пометки и перекачка 2026-09-22 21:59:59 +03:00
evgeny 0e625da109 call: ретрансмит INVITE каждые 2с + fail-fast при отсутствии маршрута (6с) 2026-09-22 16:06:52 +03:00
evgeny cc0dcb071e chat: UI настройки звука канала (Android toggle + JNI, desktop через C API) + trampoline 2026-09-22 01:25:55 +03:00
evgeny 845af9200d Stop call ring sound immediately on accept 2026-09-21 19:41:21 +03:00
evgeny 9793733cd5 chatgui: диагностика воспроизведения голосовых сообщений (Windows)
- sound_manager: ma_engine_init/playRawPcm логируют через DEBUG_* (qWarning/qDebug терялись в GUI-приложении без консоли); детальный результат старта PCM (rc/is_playing/cursor)
- main: ранняя инициализация лога в GUI-потоке до SoundManager::init, чтобы диагностика инициализации попала в файл
- messagedelegate: лог клика по Play/timeline (filePath/dlState/существует ли файл)
- voiceplayback: лог заголовка opus (sr/ch/frameSamples)

Попутные правки:
- u_async: фикс двойного close wakeup_pipe (eventfd/Windows)
- chat_core: NULL-guard в get_db/is_initialized
- android: sqlite открывается в utun_instance_init, cleanup stale-потока без утечки fd
- android SettingsScreen: компактная раскладка имени интерфейса
2026-09-21 18:59:04 +03:00
evgeny 19dc076528 chatgui: инициализация call/dm/media backfill при старте узла (fix звонков) 2026-09-21 17:20:41 +03:00
evgeny 6a0373ee73 call: диагностика ставок TX/RX и детект сталла аудио-девайса с хард-ресинком 2026-09-21 16:54:14 +03:00
evgeny e885fe30f5 chatgui: remove universal black background from video window (fix black boxes around controls) 2026-09-21 12:50:06 +03:00