aboutsummaryrefslogtreecommitdiff
path: root/discord/opus.py
diff options
context:
space:
mode:
Diffstat (limited to 'discord/opus.py')
-rw-r--r--discord/opus.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/discord/opus.py b/discord/opus.py
index 089a735e..a5f81486 100644
--- a/discord/opus.py
+++ b/discord/opus.py
@@ -29,6 +29,8 @@ import ctypes.util
import array
from .errors import DiscordException
import logging
+import sys
+import os.path
log = logging.getLogger(__name__)
c_int_ptr = ctypes.POINTER(ctypes.c_int)
@@ -75,8 +77,14 @@ def libopus_loader(name):
return lib
try:
- _lib = libopus_loader(ctypes.util.find_library('opus'))
-except:
+ if sys.platform == 'win32':
+ _basedir = os.path.dirname(os.path.abspath(__file__))
+ _bitness = 'x64' if sys.maxsize > 2**32 else 'x86'
+ _filename = os.path.join(_basedir, 'bin', 'libopus-0.{}.dll'.format(_bitness))
+ _lib = libopus_loader(_filename)
+ else:
+ _lib = libopus_loader(ctypes.util.find_library('opus'))
+except Exception as e:
_lib = None
def load_opus(name):