From 7b036446a27670cca5435bb02f8690bc158e7289 Mon Sep 17 00:00:00 2001 From: RogueException Date: Mon, 19 Oct 2015 02:38:23 -0300 Subject: [PATCH] Fixed voice errors --- src/Discord.Net/DiscordClientConfig.cs | 2 +- src/Discord.Net/Net/Voice/VoiceBuffer.cs | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Discord.Net/DiscordClientConfig.cs b/src/Discord.Net/DiscordClientConfig.cs index 8e09e0fe0..9c81fd5c8 100644 --- a/src/Discord.Net/DiscordClientConfig.cs +++ b/src/Discord.Net/DiscordClientConfig.cs @@ -21,7 +21,7 @@ private bool _ackMessages = false; //Internal - internal override bool EnableVoice => base.EnableVoice && !EnableVoiceMultiserver; + internal override bool EnableVoice => (base.EnableVoice && !EnableVoiceMultiserver) || base.VoiceOnly; public new DiscordClientConfig Clone() { diff --git a/src/Discord.Net/Net/Voice/VoiceBuffer.cs b/src/Discord.Net/Net/Voice/VoiceBuffer.cs index 84d24541a..bc31a8bd3 100644 --- a/src/Discord.Net/Net/Voice/VoiceBuffer.cs +++ b/src/Discord.Net/Net/Voice/VoiceBuffer.cs @@ -32,6 +32,9 @@ namespace Discord.Net.Voice public void Push(byte[] buffer, int bytes, CancellationToken cancelToken) { + if (cancelToken.IsCancellationRequested) + throw new OperationCanceledException("Client is disconnected.", cancelToken); + int wholeFrames = bytes / _frameSize; int expectedBytes = wholeFrames * _frameSize; int lastFrameSize = bytes - expectedBytes; @@ -50,7 +53,10 @@ namespace Discord.Net.Voice { _notOverflowEvent.Wait(cancelToken); } - catch (OperationCanceledException) { return; } + catch (OperationCanceledException ex) + { + throw new OperationCanceledException("Client is disconnected.", ex, cancelToken); + } } if (i == wholeFrames)