From 0438b11c910e1bfea2d82d61ed24ec9f47a20598 Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Fri, 30 Sep 2022 01:09:51 -0400 Subject: dont dispatch udp to main --- src/discord/voiceclient.cpp | 16 +--------------- src/discord/voiceclient.hpp | 4 ---- 2 files changed, 1 insertion(+), 19 deletions(-) (limited to 'src/discord') diff --git a/src/discord/voiceclient.cpp b/src/discord/voiceclient.cpp index 7b4989e..0b87032 100644 --- a/src/discord/voiceclient.cpp +++ b/src/discord/voiceclient.cpp @@ -141,9 +141,7 @@ DiscordVoiceClient::DiscordVoiceClient() { }); m_udp.signal_data().connect([this](const std::vector &data) { - std::lock_guard _(m_udp_dispatch_mutex); - m_udp_message_queue.push(data); - m_udp_dispatcher.emit(); + OnUDPData(data); }); m_dispatcher.connect([this]() { @@ -158,18 +156,6 @@ DiscordVoiceClient::DiscordVoiceClient() { OnGatewayMessage(msg); }); - m_udp_dispatcher.connect([this]() { - m_udp_dispatch_mutex.lock(); - if (m_udp_message_queue.empty()) { - m_udp_dispatch_mutex.unlock(); - return; - } - auto data = std::move(m_udp_message_queue.front()); - m_udp_message_queue.pop(); - m_udp_dispatch_mutex.unlock(); - OnUDPData(data); - }); - Glib::signal_idle().connect_once([this]() { // cant put in ctor or deadlock in singleton initialization auto &aud = Abaddon::Get().GetAudio(); diff --git a/src/discord/voiceclient.hpp b/src/discord/voiceclient.hpp index 634c333..1d8b952 100644 --- a/src/discord/voiceclient.hpp +++ b/src/discord/voiceclient.hpp @@ -235,10 +235,6 @@ private: std::queue m_message_queue; std::mutex m_dispatch_mutex; - Glib::Dispatcher m_udp_dispatcher; - std::queue> m_udp_message_queue; - std::mutex m_udp_dispatch_mutex; - int m_heartbeat_msec; Waiter m_heartbeat_waiter; std::thread m_heartbeat_thread; -- cgit v1.2.3