summaryrefslogtreecommitdiff
path: root/AudioManagerCore/src
diff options
context:
space:
mode:
authorJens Lorenz <jlorenz@de.adit-jv.com>2016-11-25 15:29:14 +0100
committerJens Lorenz <jlorenz@de.adit-jv.com>2016-11-25 15:29:14 +0100
commit30754a4100cf18b6d0b689bafbb23583d165f81b (patch)
treea2824e2e40e7c90d4f576a1dc57a7f4ba5d325be /AudioManagerCore/src
parent70f3263edf097b7990fcd2d27d4d47da34b6c0da (diff)
downloadaudiomanager-30754a4100cf18b6d0b689bafbb23583d165f81b.tar.gz
AMCore: Fix deamon to update interrupt state of source.
Signed-off-by: Toshiaki Isogai <tisogai@jp.adit-jv.com>
Diffstat (limited to 'AudioManagerCore/src')
-rw-r--r--AudioManagerCore/src/CAmDatabaseHandlerMap.cpp13
-rw-r--r--AudioManagerCore/src/CAmRoutingReceiver.cpp7
2 files changed, 19 insertions, 1 deletions
diff --git a/AudioManagerCore/src/CAmDatabaseHandlerMap.cpp b/AudioManagerCore/src/CAmDatabaseHandlerMap.cpp
index 0965a1d..fa7f5fc 100644
--- a/AudioManagerCore/src/CAmDatabaseHandlerMap.cpp
+++ b/AudioManagerCore/src/CAmDatabaseHandlerMap.cpp
@@ -2589,6 +2589,19 @@ am_Error_e CAmDatabaseHandlerMap::changeSourceState(const am_sourceID_t sourceID
return (E_NON_EXISTENT);
}
+am_Error_e CAmDatabaseHandlerMap::changeSourceInterruptState(const am_sourceID_t sourceID, const am_InterruptState_e interruptState)
+{
+ assert(sourceID!=0);
+ assert(interruptState>=IS_UNKNOWN && interruptState<=IS_MAX);
+ if(existSource(sourceID))
+ {
+ mMappedData.mSourceMap.at(sourceID).interruptState = interruptState;
+ return (E_OK);
+ }
+ return (E_NON_EXISTENT);
+}
+
+
am_Error_e CAmDatabaseHandlerMap::getSinkMainVolume(const am_sinkID_t sinkID, am_mainVolume_t& mainVolume) const {
diff --git a/AudioManagerCore/src/CAmRoutingReceiver.cpp b/AudioManagerCore/src/CAmRoutingReceiver.cpp
index 587cbf4..dfcb6f6 100644
--- a/AudioManagerCore/src/CAmRoutingReceiver.cpp
+++ b/AudioManagerCore/src/CAmRoutingReceiver.cpp
@@ -291,7 +291,12 @@ am_Error_e CAmRoutingReceiver::deregisterCrossfader(const am_crossfaderID_t cros
void CAmRoutingReceiver::hookInterruptStatusChange(const am_sourceID_t sourceID, const am_InterruptState_e interruptState)
{
- return (mpControlSender->hookSystemInterruptStateChange(sourceID, interruptState));
+ am_Error_e error;
+ error = mpDatabaseHandler->changeSourceInterruptState(sourceID, interruptState);
+ if (error == E_OK)
+ {
+ mpControlSender->hookSystemInterruptStateChange(sourceID, interruptState);
+ }
}
void CAmRoutingReceiver::hookDomainRegistrationComplete(const am_domainID_t domainID)