[vlc-devel] commit: python bindings: workaround for the #2257 / #2266 VLC bug ( linux only ATM) (Olivier Aubert )

git version control git at videolan.org
Mon Dec 15 11:45:02 CET 2008


vlc | branch: master | Olivier Aubert <olivier.aubert at liris.cnrs.fr> | Mon Dec 15 11:44:39 2008 +0100| [937e3f2f6b56c287e9acecfc77d65841300325ca] | committer: Olivier Aubert 

python bindings: workaround for the #2257 / #2266 VLC bug (linux only ATM)

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=937e3f2f6b56c287e9acecfc77d65841300325ca
---

 bindings/python/vlc_module.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/bindings/python/vlc_module.c b/bindings/python/vlc_module.c
index 7a90a4b..c82e6a0 100644
--- a/bindings/python/vlc_module.c
+++ b/bindings/python/vlc_module.c
@@ -22,6 +22,7 @@
  *****************************************************************************/
 
 #include "vlcglue.h"
+#include <dlfcn.h>
 
 /**************************************************************************
  * VLC Module
@@ -47,6 +48,21 @@ initvlc( void )
 {
     PyObject* p_module;
 
+#ifdef WIN32
+    /*
+      FIXME: Win32 support is trickier than that (does not support dlopen).
+      Get code from src/modules/os.c to work on different OSes.
+    */
+    #define LIBVLCCORE "libvlccore.dll"
+#else
+    #define LIBVLCCORE "libvlccore.so"
+#endif
+    /* Workaround for the 2257/2266 VLC bug. */
+    if ( !dlopen( LIBVLCCORE, RTLD_NOW | RTLD_GLOBAL ) )
+    {
+        fprintf( stderr, "Error when loading libvlccore:\n%s\nTrying to continue anyway.\n", dlerror() );
+    }
+
     /* vlcMediaPlayer_Type.tp_new = PyType_GenericNew; */
     vlcMediaPlayer_Type.tp_alloc = PyType_GenericAlloc;
     /* vlcMedia_Type.tp_new = PyType_GenericNew; */




More information about the vlc-devel mailing list