Browse Source

Don't crash on voice buffer clear

tags/docs-0.9
RogueException 9 years ago
parent
commit
6e9d6a9b6c
1 changed files with 10 additions and 2 deletions
  1. +10
    -2
      src/Discord.Net/WebSockets/Voice/VoiceBuffer.cs

+ 10
- 2
src/Discord.Net/WebSockets/Voice/VoiceBuffer.cs View File

@@ -46,7 +46,11 @@ namespace Discord.WebSockets.Voice
if (_readCursor == nextPosition)
{
_notOverflowEvent.Reset();
_notOverflowEvent.Wait(cancelToken);
try
{
_notOverflowEvent.Wait(cancelToken);
}
catch (OperationCanceledException) { return; }
}

if (i == wholeFrames)
@@ -100,7 +104,11 @@ namespace Discord.WebSockets.Voice
_isClearing = true;
for (int i = 0; i < _frameCount; i++)
Buffer.BlockCopy(_blankFrame, 0, _buffer, i * _frameCount, i++);
_underflowEvent.Wait(cancelToken);
try
{
_underflowEvent.Wait(cancelToken);
}
catch (OperationCanceledException) { }
_writeCursor = 0;
_readCursor = 0;
_isClearing = false;


Loading…
Cancel
Save