aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/modules/mediaplayer/mp_xmmsinterface.cpp12
-rw-r--r--src/modules/mediaplayer/mp_xmmsinterface.h12
2 files changed, 13 insertions, 11 deletions
diff --git a/src/modules/mediaplayer/mp_xmmsinterface.cpp b/src/modules/mediaplayer/mp_xmmsinterface.cpp
index 4e0a38a06..f48c75eaa 100644
--- a/src/modules/mediaplayer/mp_xmmsinterface.cpp
+++ b/src/modules/mediaplayer/mp_xmmsinterface.cpp
@@ -89,7 +89,8 @@ KviXmmsInterface::~KviXmmsInterface()
{
if(m_pPlayerLibrary)
{
- kvi_library_close(m_pPlayerLibrary);
+ m_pPlayerLibrary->unload();
+ delete m_pPlayerLibrary;
m_pPlayerLibrary = 0;
}
}
@@ -107,17 +108,18 @@ KviAudaciousClassicInterface::~KviAudaciousClassicInterface()
bool KviXmmsInterface::loadPlayerLibrary()
{
- if(m_pPlayerLibrary)return true;
+ if(m_pPlayerLibrary && m_pPlayerLibrary->isLoaded())return true;
const char **lib_name = m_pLibraryPaths;
while(*lib_name)
{
- m_pPlayerLibrary = kvi_library_load(*lib_name);
- if(m_pPlayerLibrary)
+ m_pPlayerLibrary = new QLibrary(*lib_name);
+ if(m_pPlayerLibrary->load())
{
m_szPlayerLibraryName = *lib_name;
break;
}
+ delete m_pPlayerLibrary;
lib_name++;
}
return true;
@@ -135,7 +137,7 @@ void * KviXmmsInterface::lookupSymbol(const char * szSymbolName)
return 0;
}
}
- void * symptr = kvi_library_symbol(m_pPlayerLibrary,szSymbolName);
+ void * symptr =m_pPlayerLibrary->resolve(szSymbolName);
if(!symptr)
{
QString tmp;
diff --git a/src/modules/mediaplayer/mp_xmmsinterface.h b/src/modules/mediaplayer/mp_xmmsinterface.h
index 41b03e81f..cf490fb44 100644
--- a/src/modules/mediaplayer/mp_xmmsinterface.h
+++ b/src/modules/mediaplayer/mp_xmmsinterface.h
@@ -29,7 +29,7 @@
#include "kvi_settings.h"
#include "mp_interface.h"
-#include "kvi_library.h"
+#include <QLibrary>
#if !defined(COMPILE_ON_WINDOWS) && !defined(COMPILE_ON_MINGW)
class KviXmmsInterface : public KviMediaPlayerInterface
@@ -38,7 +38,7 @@
KviXmmsInterface();
virtual ~KviXmmsInterface();
protected:
- kvi_library_t m_pPlayerLibrary;
+ QLibrary* m_pPlayerLibrary;
QString m_szPlayerLibraryName;
const char ** m_pLibraryPaths;
public:
@@ -67,18 +67,18 @@
bool loadPlayerLibrary();
void * lookupSymbol(const char * szSymbolName);
};
-
+
MP_DECLARE_DESCRIPTOR(KviXmmsInterface)
-
+
class KviAudaciousClassicInterface : public KviXmmsInterface
{
public:
KviAudaciousClassicInterface();
virtual ~KviAudaciousClassicInterface();
};
-
+
MP_DECLARE_DESCRIPTOR(KviAudaciousClassicInterface)
-
+
#endif //!COMPILE_ON_WINDOWS
#endif //!_MP_XMMSINTERFACE_H_