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:
1 parent
19dc076528
commit
9793733cd5
8 files changed
+76
-51
No files matched your search
+5
-2
@@ -1783,10 +1783,13 @@ void uasync_destroy(struct UASYNC* ua, int close_fds) {
|
||||
if (ua->wakeup_initialized) {
|
||||
#ifdef _WIN32
|
||||
closesocket((SOCKET)(intptr_t)ua->wakeup_pipe[0]);
|
||||
closesocket((SOCKET)(intptr_t)ua->wakeup_pipe[1]);
|
||||
if (ua->wakeup_pipe[1] != ua->wakeup_pipe[0])
|
||||
closesocket((SOCKET)(intptr_t)ua->wakeup_pipe[1]);
|
||||
#else
|
||||
close(ua->wakeup_pipe[0]);
|
||||
close(ua->wakeup_pipe[1]);
|
||||
// eventfd на Linux: wakeup_pipe[0] == wakeup_pipe[1] — избегаем двойного close
|
||||
if (ua->wakeup_pipe[1] != ua->wakeup_pipe[0])
|
||||
close(ua->wakeup_pipe[1]);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user