summaryrefslogtreecommitdiff
path: root/AudioManagerDaemon/src
diff options
context:
space:
mode:
authorJens Lorenz <jlorenz@de.adit-jv.com>2015-07-15 17:43:37 +0200
committerChristian Linke <christian.linke@bmw.de>2015-08-04 13:15:30 +0100
commit63efb86fd9273828d3792c0e0c66e32bbeee617b (patch)
treeaef508037554b4c69fd064a8df3bef91a5c150c4 /AudioManagerDaemon/src
parent12f03b854547a083c0b428d21de0468ba7b7fafb (diff)
downloadaudiomanager-63efb86fd9273828d3792c0e0c66e32bbeee617b.tar.gz
calculateMainConnectionDelay doesn't work if only a single connection has a timing information
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
Diffstat (limited to 'AudioManagerDaemon/src')
-rw-r--r--AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp16
1 files changed, 6 insertions, 10 deletions
diff --git a/AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp b/AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp
index 1af6361..d8878c3 100644
--- a/AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp
+++ b/AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp
@@ -534,8 +534,7 @@ am_Error_e CAmDatabaseHandlerMap::enterMainConnectionDB(const am_MainConnection_
}
//now check the connectionTable for all connections in the route. IF connectionID exist
- delay = calculateDelayForRoute(mainConnectionData.listConnectionID);
- mMappedData.mMainConnectionMap[nextID].delay = delay;
+ delay = calculateDelayForRoute(mainConnectionData.listConnectionID);
logInfo("DatabaseHandler::enterMainConnectionDB entered new mainConnection with sourceID", mainConnectionData.sourceID, "sinkID:", mainConnectionData.sinkID, "delay:", delay, "assigned ID:", connectionID);
if (mpDatabaseObserver)
@@ -549,7 +548,9 @@ am_Error_e CAmDatabaseHandlerMap::enterMainConnectionDB(const am_MainConnection_
//finally, we update the delay value for the maintable
if (delay == 0)
delay = -1;
- return (changeDelayMainConnection(delay, connectionID));
+ (void)changeDelayMainConnection(delay, connectionID);
+
+ return (E_OK);
}
/**
@@ -2225,21 +2226,16 @@ am_timeSync_t CAmDatabaseHandlerMap::calculateMainConnectionDelay(const am_mainC
return -1;
am_MainConnection_s mainConnection = mMappedData.mMainConnectionMap.at(mainConnectionID);
am_timeSync_t delay = 0;
- am_timeSync_t min = SHRT_MAX;
std::vector<am_connectionID_t>::const_iterator iter = mainConnection.listConnectionID.begin();
for(;iter<mainConnection.listConnectionID.end(); ++iter)
{
am_Connection_Database_s const * source = objectForKeyIfExistsInMap(*iter, mMappedData.mConnectionMap);
if( NULL!=source )
{
- delay += source->delay;
- min = std::min(min,source->delay);
+ delay += std::max(source->delay, static_cast<am_timeSync_t>(0));
}
}
- if (min < 0)
- delay = -1;
- return (delay);
-
+ return (delay == 0 ? -1 : std::min(delay, static_cast<am_timeSync_t>(SHRT_MAX)));
}
/**