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: компактная раскладка имени интерфейса
This commit is contained in:
evgeny committed 2026-09-21 18:59:04 +03:00
1 parent 19dc076528
commit 9793733cd5
8 files changed
+76 -51

No files matched your search

+3
View File
@@ -41,6 +41,9 @@ int VoicePlayer::decodeOpusFile(const QString& filePath, std::vector<int16_t>& o
outSampleRate = sampleRate;
outChannels = channels;
DEBUG_DEBUG(DEBUG_CATEGORY_DEBUG, "VoicePlayer: header sr=%d ch=%d frameSamples=%u file=%s",
sampleRate, channels, (unsigned)frameSamples, qPrintable(filePath));
opus_codec_decoder_t* dec = opus_codec_decoder_create(sampleRate, channels);
if (!dec) {
DEBUG_WARN(DEBUG_CATEGORY_DEBUG, "VoicePlayer: decoder create failed");