diff options
author | Frédéric Boisnard <fredericx.boisnard@intel.com> | 2014-05-23 19:05:31 +0200 |
---|---|---|
committer | Mattijs Korpershoek <mattijsx.korpershoek@intel.com> | 2014-06-25 10:52:33 +0200 |
commit | da8298c82ada0f28b43c2fb9b41b3c096543ff3b (patch) | |
tree | 5d6afc0323ec85cc7bebf96560ea8c54f2d772e7 /parameter | |
parent | 9bf9c30fbf79c25fd1eabefc75d68e0d0dcbd5fd (diff) | |
download | external_parameter-framework-da8298c82ada0f28b43c2fb9b41b3c096543ff3b.zip external_parameter-framework-da8298c82ada0f28b43c2fb9b41b3c096543ff3b.tar.gz external_parameter-framework-da8298c82ada0f28b43c2fb9b41b3c096543ff3b.tar.bz2 |
Fix bug when using setConfigurationParameter command
BZ: 189941
There is an issue when trying to set parameter value in a
configuration using the setConfigurationParameter command.
The error returned is "Unable to forward synchronize
configurable element, Failed to write value in mixer control".
The root cause is a recent update concerning the
auto synchronization mode which is now turned on by default.
The setConfigurationParameter command first updates the local
Configuration blackboard, and then the Main blackboard if this
Configuration is the one applicable for the domain. However,
this local blackboard should not be synchronized, only the
main blackboard should be. This patch deactivates synchronization
for the local blackboard.
Change-Id: I7ca71806309d19ae482399f474d32a0c1b70ae6c
Signed-off-by: Frédéric Boisnard <fredericx.boisnard@intel.com>
Diffstat (limited to 'parameter')
-rw-r--r-- | parameter/ParameterMgr.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/parameter/ParameterMgr.cpp b/parameter/ParameterMgr.cpp index 2882f67..32082b3 100644 --- a/parameter/ParameterMgr.cpp +++ b/parameter/ParameterMgr.cpp @@ -1638,6 +1638,15 @@ bool CParameterMgr::accessConfigurationValue(const string& strDomain, const stri // Define Configuration context using Base Offset and keep Auto Sync off to prevent access to HW CParameterAccessContext parameterAccessContext(strError, pConfigurationBlackboard, _bValueSpaceIsRaw, _bOutputRawFormatIsHex, uiBaseOffset); + // Deactivate the auto synchronization with the hardware during the Configuration Blackboard + // access (only Main Blackboard shall be synchronized, Configurations Blackboards are copied + // into the Main Blackboard each time a configuration is restored but they are not synchronized + // directly). + if (bSet) { + + parameterAccessContext.setAutoSync(false); + } + // Access Value in the Configuration Blackboard if (!accessValue(parameterAccessContext, strPath, strValue, bSet, strError)) { |