From d991834c50443a6aaccb46e79c2f10489bafb4dd Mon Sep 17 00:00:00 2001 From: RogueException Date: Sat, 1 Apr 2017 13:21:08 -0300 Subject: [PATCH] InputStreams should be disposed when destroyed --- src/Discord.Net.WebSocket/Audio/AudioClient.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Discord.Net.WebSocket/Audio/AudioClient.cs b/src/Discord.Net.WebSocket/Audio/AudioClient.cs index 0736b9626..d9419dac1 100644 --- a/src/Discord.Net.WebSocket/Audio/AudioClient.cs +++ b/src/Discord.Net.WebSocket/Audio/AudioClient.cs @@ -183,15 +183,18 @@ namespace Discord.Audio } internal async Task RemoveInputStreamAsync(ulong userId) { - if (_streams.TryRemove(userId, out var ignored)) + if (_streams.TryRemove(userId, out var pair)) + { await _streamDestroyedEvent.InvokeAsync(userId).ConfigureAwait(false); + pair.Reader.Dispose(); + } } internal async Task ClearInputStreamsAsync() { foreach (var pair in _streams) { - pair.Value.Reader.Dispose(); await _streamDestroyedEvent.InvokeAsync(pair.Key).ConfigureAwait(false); + pair.Value.Reader.Dispose(); } _ssrcMap.Clear(); _streams.Clear();