diff options
author | christian mueller <christian.ei.mueller@bmw.de> | 2012-04-18 14:37:36 +0200 |
---|---|---|
committer | christian mueller <christian.ei.mueller@bmw.de> | 2012-05-24 13:40:22 +0200 |
commit | a74d588f039b4d7b583de5b4be108c98bd242642 (patch) | |
tree | 10e4772bdda715eb9ee19479687e839239d40244 /PluginControlInterface/src/CAmControlSenderBase.cpp | |
parent | 96d72c5be3cd6fab92914aa0eb076263a382eb95 (diff) | |
download | audiomanager-a74d588f039b4d7b583de5b4be108c98bd242642.tar.gz |
* changes for enabling the demo @AMM
Signed-off-by: christian mueller <christian.ei.mueller@bmw.de>
Diffstat (limited to 'PluginControlInterface/src/CAmControlSenderBase.cpp')
-rw-r--r-- | PluginControlInterface/src/CAmControlSenderBase.cpp | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/PluginControlInterface/src/CAmControlSenderBase.cpp b/PluginControlInterface/src/CAmControlSenderBase.cpp index 1277beb..34d6852 100644 --- a/PluginControlInterface/src/CAmControlSenderBase.cpp +++ b/PluginControlInterface/src/CAmControlSenderBase.cpp @@ -122,7 +122,10 @@ am_Error_e CAmControlSenderBase::hookUserDisconnectionRequest(const am_mainConne { handleStatus status; status.status = false; - mControlReceiveInterface->disconnect(status.handle, *it); + if((error=mControlReceiveInterface->disconnect(status.handle, *it))) + { + logError("Could not disconnect, Error", error); + } listHandleStaus.push_back(status); } mainConnectionSet set; @@ -173,7 +176,21 @@ am_Error_e CAmControlSenderBase::hookUserVolumeChange(const am_sinkID_t SinkID, set.sinkID = SinkID; set.mainVolume = newVolume; am_Error_e error; - if ((error = mControlReceiveInterface->setSinkVolume(set.handle, SinkID, newVolume, RAMP_GENIVI_DIRECT, 20)) != E_OK) + + std::vector<mainVolumeSet>::iterator it(mListOpenVolumeChanges.begin()); + for(;it!=mListOpenVolumeChanges.end();++it) + { + if (it->sinkID==SinkID) + return E_NOT_POSSIBLE; + } + + am_Sink_s sinkData; + mControlReceiveInterface->getSinkInfoDB(SinkID,sinkData); + + if (sinkData.mainVolume==newVolume) + return E_NO_CHANGE; + + if ((error = mControlReceiveInterface->setSinkVolume(set.handle, SinkID, newVolume*3199, RAMP_UNKNOWN, 20)) != E_OK) { return error; } @@ -188,9 +205,15 @@ am_Error_e CAmControlSenderBase::hookUserVolumeStep(const am_sinkID_t SinkID, co set.sinkID = SinkID; am_Error_e error; am_Sink_s sink; + std::vector<mainVolumeSet>::iterator it(mListOpenVolumeChanges.begin()); + for(;it!=mListOpenVolumeChanges.end();++it) + { + if (it->sinkID==SinkID) + return E_NOT_POSSIBLE; + } mControlReceiveInterface->getSinkInfoDB(SinkID, sink); - set.mainVolume = sink.volume + increment; - if ((error = mControlReceiveInterface->setSinkVolume(set.handle, SinkID, set.mainVolume, RAMP_GENIVI_DIRECT, 20)) != E_OK) + set.mainVolume = sink.volume + increment*3199; + if ((error = mControlReceiveInterface->setSinkVolume(set.handle, SinkID, set.mainVolume, RAMP_UNKNOWN, 20)) != E_OK) { return error; } @@ -414,6 +437,8 @@ void CAmControlSenderBase::cbAckSetSinkVolumeChange(const am_Handle_s handle, co if (handle.handle == it->handle.handle) { mControlReceiveInterface->changeSinkMainVolumeDB(it->mainVolume, it->sinkID); + mListOpenVolumeChanges.erase(it); + break; } } } |