summaryrefslogtreecommitdiff
path: root/AudioManagerCore/include
diff options
context:
space:
mode:
authorGuerra Mattia <mguerra@de.adit-jv.com>2017-09-29 10:51:32 +0200
committerJens Lorenz <jlorenz@de.adit-jv.com>2017-09-29 11:42:01 +0200
commit4090fe1d40c978d8c8cbc6a156dbfa664305163e (patch)
treed72aa2ef57170b74221c137b258eeead5b8378c7 /AudioManagerCore/include
parentc7f1fd1a0b14686d06043be27f0ac03265aac16f (diff)
downloadaudiomanager-4090fe1d40c978d8c8cbc6a156dbfa664305163e.tar.gz
AMCore: remodel ctor Sender in Command and Routing
Moving plugin opening to a separate function, this gets rid of a memory writer behavior on ARM64 platforms, otherwise leading to a this pointer of lambda functions severely corrupted (only when compiling optimizations are enabled). Signed-off-by: Guerra Mattia <mguerra@de.adit-jv.com>
Diffstat (limited to 'AudioManagerCore/include')
-rw-r--r--AudioManagerCore/include/CAmCommandSender.h2
-rw-r--r--AudioManagerCore/include/CAmRoutingSender.h1
2 files changed, 2 insertions, 1 deletions
diff --git a/AudioManagerCore/include/CAmCommandSender.h b/AudioManagerCore/include/CAmCommandSender.h
index 2f7daec..c9f8fb6 100644
--- a/AudioManagerCore/include/CAmCommandSender.h
+++ b/AudioManagerCore/include/CAmCommandSender.h
@@ -81,7 +81,7 @@ public:
friend class IAmCommandBackdoor; //this is to get access to the loaded plugins and be able to exchange the interfaces
#endif
private:
-
+ void loadPlugins(const std::vector<std::string>& listOfPluginDirectories);
void unloadLibraries(void); //!< unload the shared libraries
std::vector<IAmCommandSend*> mListInterfaces; //!< list of all interfaces
std::vector<void*> mListLibraryHandles; //!< list of all library handles. This information is used to unload the plugins correctly.
diff --git a/AudioManagerCore/include/CAmRoutingSender.h b/AudioManagerCore/include/CAmRoutingSender.h
index 8d8a063..e14dd6d 100644
--- a/AudioManagerCore/include/CAmRoutingSender.h
+++ b/AudioManagerCore/include/CAmRoutingSender.h
@@ -306,6 +306,7 @@ private:
}
};
+ void loadPlugins(const std::vector<std::string>& listOfPluginDirectories);
am_Handle_s createHandle(std::shared_ptr<handleDataBase> handleData, const am_Handle_e type); //!< creates a handle
void unloadLibraries(void); //!< unloads all loaded plugins