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