| @@ -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); | ||||
| } | } | ||||
| @@ -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); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -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); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -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); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| @@ -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); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| @@ -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); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| @@ -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); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||