From ee4574a5e118e632c04b3d68e6e95ef85793bde6 Mon Sep 17 00:00:00 2001
From: Rapptz <rapptz@gmail.com>
Date: Thu, 31 Mar 2016 23:44:22 -0400
Subject: [PATCH] Drop voice packets when it can be potentially blocking.

---
 discord/voice_client.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/discord/voice_client.py b/discord/voice_client.py
index 34e8a7a3d..c3286ec2e 100644
--- a/discord/voice_client.py
+++ b/discord/voice_client.py
@@ -672,5 +672,9 @@ class VoiceClient:
         else:
             encoded_data = data
         packet = self._get_voice_packet(encoded_data)
-        sent = self.socket.sendto(packet, (self.endpoint_ip, self.voice_port))
+        try:
+            sent = self.socket.sendto(packet, (self.endpoint_ip, self.voice_port))
+        except BlockingIOError:
+            log.warning('A packet has been dropped (seq: {0.sequence}, timestamp: {0.timestamp})'.format(self))
+
         self.checked_add('timestamp', self.encoder.samples_per_frame, 4294967295)