summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/discord/voiceclient.cpp5
-rw-r--r--src/discord/voiceclient.hpp2
2 files changed, 6 insertions, 1 deletions
diff --git a/src/discord/voiceclient.cpp b/src/discord/voiceclient.cpp
index fe72f87..7e801f7 100644
--- a/src/discord/voiceclient.cpp
+++ b/src/discord/voiceclient.cpp
@@ -210,6 +210,9 @@ void DiscordVoiceClient::SetUserID(Snowflake id) {
}
std::optional<uint32_t> DiscordVoiceClient::GetSSRCOfUser(Snowflake id) const {
+ if (const auto it = m_ssrc_map.find(id); it != m_ssrc_map.end()) {
+ return it->second;
+ }
return std::nullopt;
}
@@ -308,7 +311,7 @@ void DiscordVoiceClient::HandleGatewaySessionDescription(const VoiceGatewayMessa
void DiscordVoiceClient::HandleGatewaySpeaking(const VoiceGatewayMessage &m) {
VoiceSpeakingData d = m.Data;
- // ssrc map
+ m_ssrc_map[d.UserID] = d.SSRC;
m_signal_speaking.emit(d);
}
diff --git a/src/discord/voiceclient.hpp b/src/discord/voiceclient.hpp
index 47caec6..7e4dee3 100644
--- a/src/discord/voiceclient.hpp
+++ b/src/discord/voiceclient.hpp
@@ -239,6 +239,8 @@ private:
Snowflake m_channel_id;
Snowflake m_user_id;
+ std::unordered_map<Snowflake, uint32_t> m_ssrc_map;
+
std::array<uint8_t, 32> m_secret_key;
std::string m_ip;