[vlc-commits] python: factorize dll loading on linux/freebsd
Olivier Aubert
git at videolan.org
Sun Feb 24 16:23:30 CET 2019
vlc/python | branch: master | Olivier Aubert <contact at olivieraubert.net> | Sun Feb 24 16:22:31 2019 +0100| [e653f6e9ac90b2c05607f8f122105d4bf2867a37] | committer: Olivier Aubert
python: factorize dll loading on linux/freebsd
> http://git.videolan.org/gitweb.cgi/vlc/python.git/?a=commit;h=e653f6e9ac90b2c05607f8f122105d4bf2867a37
---
generator/generate.py | 2 +-
generator/templates/header.py | 26 ++++++++++++--------------
2 files changed, 13 insertions(+), 15 deletions(-)
diff --git a/generator/generate.py b/generator/generate.py
index 0333e55..e48245a 100755
--- a/generator/generate.py
+++ b/generator/generate.py
@@ -56,7 +56,7 @@ __all__ = ('Parser',
# Version number MUST have a major < 10 and a minor < 99 so that the
# generated dist version can be correctly generated.
-__version__ = '1.7'
+__version__ = '1.8'
_debug = False
diff --git a/generator/templates/header.py b/generator/templates/header.py
index 7af23b8..f0d03c2 100755
--- a/generator/templates/header.py
+++ b/generator/templates/header.py
@@ -121,19 +121,7 @@ def find_lib():
if dll is not None:
return dll, plugin_path
- if sys.platform.startswith('linux'):
- p = find_library('vlc')
- try:
- dll = ctypes.CDLL(p)
- except OSError: # may fail
- dll = ctypes.CDLL('libvlc.so.5')
- elif sys.platform.startswith('freebsd'):
- p = find_library('vlc')
- try:
- dll = ctypes.CDLL(p)
- except OSError: # may fail
- dll = ctypes.CDLL('libvlc.so.5')
- elif sys.platform.startswith('win'):
+ if sys.platform.startswith('win'):
libname = 'libvlc.dll'
p = find_library(libname)
if p is None:
@@ -198,7 +186,17 @@ def find_lib():
dll = ctypes.CDLL('libvlc.dylib')
else:
- raise NotImplementedError('%s: %s not supported' % (sys.argv[0], sys.platform))
+ # All other OSes (linux, freebsd...)
+ p = find_library('vlc')
+ try:
+ dll = ctypes.CDLL(p)
+ except OSError: # may fail
+ dll = None
+ if dll is None:
+ try:
+ dll = ctypes.CDLL('libvlc.so.5')
+ except:
+ raise NotImplementedError('Cannot find libvlc lib')
return (dll, plugin_path)
More information about the vlc-commits
mailing list