Browse Source

fix: Audio stream dispose (#1667)

* Fix audio dispose

* Missed a few
tags/2.3.0
Paulo GitHub 4 years ago
parent
commit
a2af9857ca
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 41 additions and 6 deletions
  1. +3
    -0
      src/Discord.Net.WebSocket/Audio/Streams/BufferedWriteStream.cs
  2. +4
    -2
      src/Discord.Net.WebSocket/Audio/Streams/OpusDecodeStream.cs
  3. +5
    -3
      src/Discord.Net.WebSocket/Audio/Streams/OpusEncodeStream.cs
  4. +7
    -0
      src/Discord.Net.WebSocket/Audio/Streams/RTPReadStream.cs
  5. +8
    -1
      src/Discord.Net.WebSocket/Audio/Streams/RTPWriteStream.cs
  6. +7
    -0
      src/Discord.Net.WebSocket/Audio/Streams/SodiumDecryptStream.cs
  7. +7
    -0
      src/Discord.Net.WebSocket/Audio/Streams/SodiumEncryptStream.cs

+ 3
- 0
src/Discord.Net.WebSocket/Audio/Streams/BufferedWriteStream.cs View File

@@ -61,14 +61,17 @@ namespace Discord.Audio.Streams

_task = Run();
}

protected override void Dispose(bool disposing)
{
if (disposing)
{
_disposeTokenSource?.Cancel();
_disposeTokenSource?.Dispose();
_cancelTokenSource?.Cancel();
_cancelTokenSource?.Dispose();
_queueLock?.Dispose();
_next.Dispose();
}
base.Dispose(disposing);
}


+ 4
- 2
src/Discord.Net.WebSocket/Audio/Streams/OpusDecodeStream.cs View File

@@ -68,10 +68,12 @@ namespace Discord.Audio.Streams

protected override void Dispose(bool disposing)
{
base.Dispose(disposing);

if (disposing)
{
_decoder.Dispose();
_next.Dispose();
}
base.Dispose(disposing);
}
}
}

+ 5
- 3
src/Discord.Net.WebSocket/Audio/Streams/OpusEncodeStream.cs View File

@@ -1,4 +1,4 @@
using System;
using System;
using System.Threading;
using System.Threading.Tasks;

@@ -89,10 +89,12 @@ namespace Discord.Audio.Streams

protected override void Dispose(bool disposing)
{
base.Dispose(disposing);

if (disposing)
{
_encoder.Dispose();
_next.Dispose();
}
base.Dispose(disposing);
}
}
}

+ 7
- 0
src/Discord.Net.WebSocket/Audio/Streams/RTPReadStream.cs View File

@@ -76,5 +76,12 @@ namespace Discord.Audio.Streams
(buffer[extensionOffset + 3]);
return extensionOffset + 4 + (extensionLength * 4);
}

protected override void Dispose(bool disposing)
{
if (disposing)
_next.Dispose();
base.Dispose(disposing);
}
}
}

+ 8
- 1
src/Discord.Net.WebSocket/Audio/Streams/RTPWriteStream.cs View File

@@ -1,4 +1,4 @@
using System;
using System;
using System.Threading;
using System.Threading.Tasks;

@@ -69,5 +69,12 @@ namespace Discord.Audio.Streams
{
await _next.ClearAsync(cancelToken).ConfigureAwait(false);
}

protected override void Dispose(bool disposing)
{
if (disposing)
_next.Dispose();
base.Dispose(disposing);
}
}
}

+ 7
- 0
src/Discord.Net.WebSocket/Audio/Streams/SodiumDecryptStream.cs View File

@@ -44,5 +44,12 @@ namespace Discord.Audio.Streams
{
await _next.ClearAsync(cancelToken).ConfigureAwait(false);
}

protected override void Dispose(bool disposing)
{
if (disposing)
_next.Dispose();
base.Dispose(disposing);
}
}
}

+ 7
- 0
src/Discord.Net.WebSocket/Audio/Streams/SodiumEncryptStream.cs View File

@@ -60,5 +60,12 @@ namespace Discord.Audio.Streams
{
await _next.ClearAsync(cancelToken).ConfigureAwait(false);
}

protected override void Dispose(bool disposing)
{
if (disposing)
_next.Dispose();
base.Dispose(disposing);
}
}
}

Loading…
Cancel
Save