dont dispatch udp to main

This commit is contained in:
ouwou
2022-09-30 01:09:51 -04:00
parent f8ae99ee7b
commit 0438b11c91
3 changed files with 10 additions and 23 deletions

View File

@@ -141,9 +141,7 @@ DiscordVoiceClient::DiscordVoiceClient() {
});
m_udp.signal_data().connect([this](const std::vector<uint8_t> &data) {
std::lock_guard<std::mutex> _(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();