fix: Audio stream dispose (#1667)

* Fix audio dispose

* Missed a few
This commit is contained in:
Paulo
2020-11-07 16:15:46 -03:00
committed by GitHub
parent 2592264acb
commit a2af9857ca
7 changed files with 41 additions and 6 deletions

View File

@@ -61,14 +61,17 @@ namespace Discord.Audio.Streams
_task = Run(); _task = Run();
} }
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
if (disposing) if (disposing)
{ {
_disposeTokenSource?.Cancel(); _disposeTokenSource?.Cancel();
_disposeTokenSource?.Dispose(); _disposeTokenSource?.Dispose();
_cancelTokenSource?.Cancel();
_cancelTokenSource?.Dispose(); _cancelTokenSource?.Dispose();
_queueLock?.Dispose(); _queueLock?.Dispose();
_next.Dispose();
} }
base.Dispose(disposing); base.Dispose(disposing);
} }

View File

@@ -68,10 +68,12 @@ namespace Discord.Audio.Streams
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
base.Dispose(disposing);
if (disposing) if (disposing)
{
_decoder.Dispose(); _decoder.Dispose();
_next.Dispose();
}
base.Dispose(disposing);
} }
} }
} }

View File

@@ -1,4 +1,4 @@
using System; using System;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -89,10 +89,12 @@ namespace Discord.Audio.Streams
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
base.Dispose(disposing);
if (disposing) if (disposing)
{
_encoder.Dispose(); _encoder.Dispose();
_next.Dispose();
}
base.Dispose(disposing);
} }
} }
} }

View File

@@ -76,5 +76,12 @@ namespace Discord.Audio.Streams
(buffer[extensionOffset + 3]); (buffer[extensionOffset + 3]);
return extensionOffset + 4 + (extensionLength * 4); return extensionOffset + 4 + (extensionLength * 4);
} }
protected override void Dispose(bool disposing)
{
if (disposing)
_next.Dispose();
base.Dispose(disposing);
}
} }
} }

View File

@@ -1,4 +1,4 @@
using System; using System;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -69,5 +69,12 @@ namespace Discord.Audio.Streams
{ {
await _next.ClearAsync(cancelToken).ConfigureAwait(false); await _next.ClearAsync(cancelToken).ConfigureAwait(false);
} }
protected override void Dispose(bool disposing)
{
if (disposing)
_next.Dispose();
base.Dispose(disposing);
}
} }
} }

View File

@@ -44,5 +44,12 @@ namespace Discord.Audio.Streams
{ {
await _next.ClearAsync(cancelToken).ConfigureAwait(false); await _next.ClearAsync(cancelToken).ConfigureAwait(false);
} }
protected override void Dispose(bool disposing)
{
if (disposing)
_next.Dispose();
base.Dispose(disposing);
}
} }
} }

View File

@@ -60,5 +60,12 @@ namespace Discord.Audio.Streams
{ {
await _next.ClearAsync(cancelToken).ConfigureAwait(false); await _next.ClearAsync(cancelToken).ConfigureAwait(false);
} }
protected override void Dispose(bool disposing)
{
if (disposing)
_next.Dispose();
base.Dispose(disposing);
}
} }
} }