summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2022-09-29 22:47:10 -0400
committerouwou <26526779+ouwou@users.noreply.github.com>2022-09-29 22:47:10 -0400
commitf8ae99ee7bdc9c65938f083d3c98ba86cce94706 (patch)
tree3b46c06ae3eed88e776359a43e18eea25b2d09ea
parentb735feb901387d26984ceba66bb0c555b16c1838 (diff)
downloadabaddon-portaudio-f8ae99ee7bdc9c65938f083d3c98ba86cce94706.tar.gz
abaddon-portaudio-f8ae99ee7bdc9c65938f083d3c98ba86cce94706.zip
fix crash on disconnect
-rw-r--r--src/audio/manager.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/audio/manager.cpp b/src/audio/manager.cpp
index e025390..de04866 100644
--- a/src/audio/manager.cpp
+++ b/src/audio/manager.cpp
@@ -126,11 +126,10 @@ void AudioManager::RemoveSSRC(uint32_t ssrc) {
void AudioManager::RemoveAllSSRCs() {
puts("remove all ssrc");
- for (auto it = m_sources.begin(); it != m_sources.end();) {
- opus_decoder_destroy(it->second.second);
- m_sources.erase(it);
- it++;
+ for (auto &[ssrc, pair] : m_sources) {
+ opus_decoder_destroy(pair.second);
}
+ m_sources.clear();
}
void AudioManager::SetOpusBuffer(uint8_t *ptr) {