diff -r 8dfd592727cb -r 94fc26b6e006 khronosfws/openmax_al/src/common/xanokialinearvolumeitf.c --- a/khronosfws/openmax_al/src/common/xanokialinearvolumeitf.c Wed Jun 23 18:47:10 2010 +0300 +++ b/khronosfws/openmax_al/src/common/xanokialinearvolumeitf.c Tue Jul 06 14:50:35 2010 +0300 @@ -89,7 +89,8 @@ if ((!impl) || (vol > MAX_PERCENTAGE_VOLUME)) { - DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");DEBUG_API("<-XANokiaLinearVolumeItfImpl_SetVolumeLevel"); + DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); + DEBUG_API("<-XANokiaLinearVolumeItfImpl_SetVolumeLevel"); /* invalid parameter */ return XA_RESULT_PARAMETER_INVALID; } @@ -130,7 +131,20 @@ return XA_RESULT_PARAMETER_INVALID; } - *percentage = impl->volumeLevel; + ret = XAAdaptationBase_ThreadEntry(impl->adapCtx); + if (ret == XA_RESULT_SUCCESS) + { + if (impl->adapCtx && impl->adapCtx->fwtype == FWMgrFWMMF) + { + ret = XANokiaLinearVolumeItfAdapt_GetVolumeLevel( + (XAAdaptationMMFCtx*) impl->adapCtx, percentage); + if (ret == XA_RESULT_SUCCESS) + { + impl->volumeLevel = *percentage; + } + } + XAAdaptationBase_ThreadExit(impl->adapCtx); + } DEBUG_API("<-XANokiaLinearVolumeItfImpl_GetVolumeLevel"); return ret;