summaryrefslogtreecommitdiff
path: root/avmedia/source/vlc/wrapper/SymbolLoader.hxx
diff options
context:
space:
mode:
authorMinh Ngo <nlminhtl@gmail.com>2013-08-25 20:56:20 +0300
committerMinh Ngo <nlminhtl@gmail.com>2013-08-25 20:57:06 +0300
commit8a844a4b924eaadec25f9e27cef56b52a0abe50e (patch)
tree116871f3b8ef17a479c2a19f71d80fe48e002975 /avmedia/source/vlc/wrapper/SymbolLoader.hxx
parent88011f4cdf050c2df0b7488e273332d4e7048012 (diff)
Linking symbols only once.
If they were linked unsuccessfully a VLC instance won't be created. Some static functions and variables were encapsulated. Change-Id: I9d07ac9a73a6bd59928bcc349458ea346a26deb4
Diffstat (limited to 'avmedia/source/vlc/wrapper/SymbolLoader.hxx')
-rw-r--r--avmedia/source/vlc/wrapper/SymbolLoader.hxx37
1 files changed, 20 insertions, 17 deletions
diff --git a/avmedia/source/vlc/wrapper/SymbolLoader.hxx b/avmedia/source/vlc/wrapper/SymbolLoader.hxx
index 8730e05dc270..92b52eee3e05 100644
--- a/avmedia/source/vlc/wrapper/SymbolLoader.hxx
+++ b/avmedia/source/vlc/wrapper/SymbolLoader.hxx
@@ -53,31 +53,34 @@ namespace
}
}
-template<size_t N>
-bool InitApiMap( const ApiMap ( &pMap )[N] )
+namespace VLC
{
- oslModule aModule;
-
- for (uint j = 0; j < sizeof(libNames) / sizeof(libNames[0]); ++j)
+ template<size_t N>
+ bool InitApiMap( const ApiMap ( &pMap )[N] )
{
- aModule = osl_loadModule( OUString::createFromAscii
- ( libNames[ j ] ).pData,
- SAL_LOADMODULE_DEFAULT );
-
- if( aModule == NULL)
- continue;
+ oslModule aModule;
- if (tryLink( aModule, pMap ))
+ for (uint j = 0; j < sizeof(libNames) / sizeof(libNames[0]); ++j)
{
+ aModule = osl_loadModule( OUString::createFromAscii
+ ( libNames[ j ] ).pData,
+ SAL_LOADMODULE_DEFAULT );
+
+ if( aModule == NULL)
+ continue;
+
+ if (tryLink( aModule, pMap ))
+ {
+ osl_unloadModule( aModule );
+ return true;
+ }
+
osl_unloadModule( aModule );
- return true;
}
- osl_unloadModule( aModule );
+ std::cerr << "Cannot load libvlc" << std::endl;
+ return false;
}
-
- std::cerr << "Cannot load libvlc" << std::endl;
- return false;
}
#endif