summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchristian mueller <christian.ei.mueller@bmw.de>2012-04-11 17:29:39 +0200
committerchristian mueller <christian.ei.mueller@bmw.de>2012-05-24 13:40:22 +0200
commitb2c7d55427df5d31b6a63917f27264a676314d10 (patch)
tree5b36ce7b5d9b5feb545250322554bf2f123c89f8
parent15f093000c7cb185dbcae3db7ee5827530d46fac (diff)
downloadaudiomanager-b2c7d55427df5d31b6a63917f27264a676314d10.tar.gz
* [GAM-61] implement mute in sample controller
Signed-off-by: christian mueller <christian.ei.mueller@bmw.de>
-rw-r--r--PluginControlInterface/src/CAmControlSenderBase.cpp34
1 files changed, 29 insertions, 5 deletions
diff --git a/PluginControlInterface/src/CAmControlSenderBase.cpp b/PluginControlInterface/src/CAmControlSenderBase.cpp
index 4a315b3..1277beb 100644
--- a/PluginControlInterface/src/CAmControlSenderBase.cpp
+++ b/PluginControlInterface/src/CAmControlSenderBase.cpp
@@ -73,9 +73,9 @@ am_Error_e CAmControlSenderBase::hookUserConnectionRequest(const am_sourceID_t s
std::vector<am_MainConnection_s> listAllMainConnections;
mControlReceiveInterface->getListMainConnections(listAllMainConnections);
std::vector<am_MainConnection_s>::iterator itAll(listAllMainConnections.begin());
- for(;itAll!=listAllMainConnections.end();++itAll)
+ for (; itAll != listAllMainConnections.end(); ++itAll)
{
- if(itAll->sinkID==sinkID && itAll->sourceID==sourceID)
+ if (itAll->sinkID == sinkID && itAll->sourceID == sourceID)
return (E_ALREADY_EXISTS);
}
@@ -200,9 +200,33 @@ am_Error_e CAmControlSenderBase::hookUserVolumeStep(const am_sinkID_t SinkID, co
am_Error_e CAmControlSenderBase::hookUserSetSinkMuteState(const am_sinkID_t sinkID, const am_MuteState_e muteState)
{
- (void) sinkID;
- (void) muteState;
- return E_NOT_USED;
+ assert(sinkID!=0);
+
+ mainVolumeSet set;
+ set.sinkID = sinkID;
+ am_Error_e error;
+ am_Sink_s sink;
+ mControlReceiveInterface->getSinkInfoDB(sinkID, sink);
+
+ if (muteState == MS_MUTED)
+ {
+ set.mainVolume = sink.mainVolume;
+ if ((error = mControlReceiveInterface->setSinkVolume(set.handle, sinkID, 0, RAMP_GENIVI_DIRECT, 20)) != E_OK)
+ {
+ return error;
+ }
+ }
+ else
+ {
+ set.mainVolume=sink.mainVolume;
+ if ((error = mControlReceiveInterface->setSinkVolume(set.handle, sinkID, set.mainVolume, RAMP_GENIVI_DIRECT, 20)) != E_OK)
+ {
+ return error;
+ }
+ }
+ mListOpenVolumeChanges.push_back(set);
+ mControlReceiveInterface->changeSinkMuteStateDB(muteState,sinkID);
+ return (E_OK);
}
am_Error_e CAmControlSenderBase::hookSystemRegisterDomain(const am_Domain_s & domainData, am_domainID_t & domainID)