summaryrefslogtreecommitdiff
path: root/AudioManagerCore/src/CAmControlSender.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'AudioManagerCore/src/CAmControlSender.cpp')
-rw-r--r--AudioManagerCore/src/CAmControlSender.cpp25
1 files changed, 14 insertions, 11 deletions
diff --git a/AudioManagerCore/src/CAmControlSender.cpp b/AudioManagerCore/src/CAmControlSender.cpp
index ce5d132..17a9b2b 100644
--- a/AudioManagerCore/src/CAmControlSender.cpp
+++ b/AudioManagerCore/src/CAmControlSender.cpp
@@ -153,20 +153,23 @@ CAmControlSender::CAmControlSender(std::string controlPluginFile,CAmSocketHandle
CAmControlSender::~CAmControlSender()
{
- close(mPipe[0]);
- close(mPipe[1]);
- void (*destroyFunc)(IAmControlSend*);
- destroyFunc = getDestroyFunction<void(IAmControlSend*)>(mControlPluginFile,mlibHandle);
- assert(destroyFunc!=NULL);
- destroyFunc(mController);
- if(mlibHandle)
+ close(mPipe[0]);
+ close(mPipe[1]);
+
+ if (mlibHandle)
{
+ void (*destroyFunc)(IAmControlSend*);
+ destroyFunc = getDestroyFunction<void(IAmControlSend*)>(mControlPluginFile, mlibHandle);
+ if (destroyFunc)
+ {
+ destroyFunc(mController);
+ }
+ else
+ {
+ logError("CAmControlSender Dtor: destroyFunc is invalid or not found");
+ }
dlclose(mlibHandle);
}
- else
- {
- logError("CAmControlSender Dtor: mlibHandle is invalid");
- }
}
am_Error_e CAmControlSender::hookUserConnectionRequest(const am_sourceID_t sourceID, const am_sinkID_t sinkID, am_mainConnectionID_t & mainConnectionID)