InputStreams should be disposed when destroyed
This commit is contained in:
@@ -183,15 +183,18 @@ namespace Discord.Audio
|
|||||||
}
|
}
|
||||||
internal async Task RemoveInputStreamAsync(ulong userId)
|
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);
|
await _streamDestroyedEvent.InvokeAsync(userId).ConfigureAwait(false);
|
||||||
|
pair.Reader.Dispose();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
internal async Task ClearInputStreamsAsync()
|
internal async Task ClearInputStreamsAsync()
|
||||||
{
|
{
|
||||||
foreach (var pair in _streams)
|
foreach (var pair in _streams)
|
||||||
{
|
{
|
||||||
pair.Value.Reader.Dispose();
|
|
||||||
await _streamDestroyedEvent.InvokeAsync(pair.Key).ConfigureAwait(false);
|
await _streamDestroyedEvent.InvokeAsync(pair.Key).ConfigureAwait(false);
|
||||||
|
pair.Value.Reader.Dispose();
|
||||||
}
|
}
|
||||||
_ssrcMap.Clear();
|
_ssrcMap.Clear();
|
||||||
_streams.Clear();
|
_streams.Clear();
|
||||||
|
|||||||
Reference in New Issue
Block a user