Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-gpu
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-gpu
Commits
f6cfac86
Commit
f6cfac86
authored
Sep 08, 2009
by
Olivier Aubert
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
python-ctypes: try to detect plugin path on win32 / macosx
parent
bbea92e7
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
27 additions
and
9 deletions
+27
-9
bindings/python-ctypes/header.py
bindings/python-ctypes/header.py
+19
-9
bindings/python-ctypes/override.py
bindings/python-ctypes/override.py
+8
-0
No files found.
bindings/python-ctypes/header.py
View file @
f6cfac86
...
...
@@ -39,42 +39,52 @@ import sys
build_date
=
"This will be replaced by the build date"
# Used for win32 and MacOS X
detected_plugin_path
=
None
if
sys
.
platform
==
'linux2'
:
dll
=
ctypes
.
CDLL
(
'libvlc.so'
)
elif
sys
.
platform
==
'win32'
:
import
ctypes.util
import
os
plugin_path
=
None
detected_
plugin_path
=
None
path
=
ctypes
.
util
.
find_library
(
'libvlc.dll'
)
if
path
is
None
:
# Try to use registry settings
import
_winreg
plugin_path_found
=
None
detected_
plugin_path_found
=
None
subkey
,
name
=
'Software
\
\
VideoLAN
\
\
VLC'
,
'InstallDir'
for
hkey
in
_winreg
.
HKEY_LOCAL_MACHINE
,
_winreg
.
HKEY_CURRENT_USER
:
try
:
reg
=
_winreg
.
OpenKey
(
hkey
,
subkey
)
plugin_path_found
,
type_id
=
_winreg
.
QueryValueEx
(
reg
,
name
)
detected_
plugin_path_found
,
type_id
=
_winreg
.
QueryValueEx
(
reg
,
name
)
_winreg
.
CloseKey
(
reg
)
break
except
_winreg
.
error
:
pass
if
plugin_path_found
:
plugin_path
=
plugin_path_found
if
detected_
plugin_path_found
:
detected_plugin_path
=
detected_
plugin_path_found
else
:
# Try a standard location.
p
=
'c:
\
\
Program Files
\
\
VideoLAN
\
\
VLC
\
\
libvlc.dll'
if
os
.
path
.
exists
(
p
):
plugin_path
=
os
.
path
.
dirname
(
p
)
os
.
chdir
(
plugin_path
)
detected_
plugin_path
=
os
.
path
.
dirname
(
p
)
os
.
chdir
(
detected_
plugin_path
)
# If chdir failed, this will not work and raise an exception
path
=
'libvlc.dll'
else
:
plugin_path
=
os
.
path
.
dirname
(
path
)
detected_
plugin_path
=
os
.
path
.
dirname
(
path
)
dll
=
ctypes
.
CDLL
(
path
)
elif
sys
.
platform
==
'darwin'
:
# FIXME: should find a means to configure path
dll
=
ctypes
.
CDLL
(
'/Applications/VLC.app/Contents/MacOS/lib/libvlc.2.dylib'
)
d
=
'/Applications/VLC.app'
import
os
if
os
.
path
.
exists
(
d
):
dll
=
ctypes
.
CDLL
(
d
+
'/Contents/MacOS/lib/libvlc.2.dylib'
)
detected_plugin_path
=
d
+
'/Contents/MacOS/modules'
else
:
# Hope some default path is set...
dll
=
ctypes
.
CDLL
(
'libvlc.2.dylib'
)
#
# Generated enum types.
...
...
bindings/python-ctypes/override.py
View file @
f6cfac86
...
...
@@ -24,6 +24,10 @@ class Instance:
if
p
and
isinstance
(
p
[
0
],
MediaControl
):
return
p
[
0
].
get_instance
()
else
:
if
not
p
and
detected_plugin_path
is
not
None
:
# No parameters passed. Under win32 and MacOS, specify
# the detected_plugin_path if present.
p
=
[
'vlc'
,
'--plugin-path='
+
detected_plugin_path
]
e
=
VLCException
()
return
libvlc_new
(
len
(
p
),
p
,
e
)
...
...
@@ -74,6 +78,10 @@ class MediaControl:
e
=
MediaControlException
()
return
mediacontrol_new_from_instance
(
p
[
0
],
e
)
else
:
if
not
p
and
detected_plugin_path
is
not
None
:
# No parameters passed. Under win32 and MacOS, specify
# the detected_plugin_path if present.
p
=
[
'vlc'
,
'--plugin-path='
+
detected_plugin_path
]
e
=
MediaControlException
()
return
mediacontrol_new
(
len
(
p
),
p
,
e
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment