diff -r 80975da52420 -r 43d09473c595 khronosfws/openmax_al/src/common/xavolumeitf.c --- a/khronosfws/openmax_al/src/common/xavolumeitf.c Mon May 03 12:59:52 2010 +0300 +++ b/khronosfws/openmax_al/src/common/xavolumeitf.c Fri May 14 16:22:35 2010 +0300 @@ -20,9 +20,9 @@ #include #include "xavolumeitf.h" -#ifdef _GSTREAMER_BACKEND_ -#include "XAVolumeItfAdaptation.h" -#endif + +#include "xavolumeitfadaptation.h" +#include "xanokiavolumeextitfadaptationmmf.h" /** * XAVolumeItfImpl* GetImpl(XAVolumeItf self) * Description: Validated interface pointer and cast it to implementations pointer. @@ -73,23 +73,29 @@ return XA_RESULT_PARAMETER_INVALID; } -#ifdef _GSTREAMER_BACKEND_ - ret = XAVolumeItfAdapt_ThreadEntry(impl->adapCtx); + + ret = XAAdaptationBase_ThreadEntry(impl->adapCtx); if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED ) { DEBUG_API("<-XAVolumeItfImpl_SetVolumeLevel"); return ret; } - - ret = XAVolumeItfAdapt_SetVolumeLevel(impl->adapCtx, level); - + if(impl->adapCtx->fwtype == FWMgrFWGST) + { + ret = XAVolumeItfAdapt_SetVolumeLevel((XAAdaptationGstCtx*)impl->adapCtx, level); + } + else + { + impl->volumeLevel = level; + } + if(ret == XA_RESULT_SUCCESS) { impl->volumeLevel = level; } - XAVolumeItfAdapt_ThreadExit(impl->adapCtx); -#endif + XAAdaptationBase_ThreadExit(impl->adapCtx); + DEBUG_API("<-XAVolumeItfImpl_SetVolumeLevel"); return ret ; } @@ -136,18 +142,25 @@ return XA_RESULT_PARAMETER_INVALID; } -#ifdef _GSTREAMER_BACKEND_ - ret = XAVolumeItfAdapt_ThreadEntry(impl->adapCtx); + + ret = XAAdaptationBase_ThreadEntry(impl->adapCtx); if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED ) { DEBUG_API("<-XAVolumeItfImpl_GetMaxVolumeLevel"); return ret; } - ret = XAVolumeItfAdapt_GetMaxVolumeLevel(impl->adapCtx, - pMaxLevel); + if(impl->adapCtx->fwtype == FWMgrFWGST) + { + ret = XAVolumeItfAdapt_GetMaxVolumeLevel((XAAdaptationGstCtx*)impl->adapCtx, + pMaxLevel); + } + else + { + *pMaxLevel = MAX_SUPPORT_VOLUME_LEVEL; + } - XAVolumeItfAdapt_ThreadExit(impl->adapCtx); -#endif + XAAdaptationBase_ThreadExit(impl->adapCtx); + DEBUG_API("<-XAVolumeItfImpl_GetMaxVolumeLevel"); return ret; } @@ -170,8 +183,8 @@ return XA_RESULT_PARAMETER_INVALID; } -#ifdef _GSTREAMER_BACKEND_ - ret = XAVolumeItfAdapt_ThreadEntry(impl->adapCtx); + + ret = XAAdaptationBase_ThreadEntry(impl->adapCtx); if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED ) { DEBUG_API("<-XAVolumeItfImpl_SetMute"); @@ -180,7 +193,14 @@ /* check is mute state changed */ if(mute != impl->mute) { - ret = XAVolumeItfAdapt_SetMute(impl->adapCtx, mute); + if(impl->adapCtx->fwtype == FWMgrFWMMF) + { + ret = XANokiaVolumeExtItfAdapt_SetMute((XAAdaptationMMFCtx*)impl->adapCtx, mute); + } + else + { + ret = XAVolumeItfAdapt_SetMute((XAAdaptationGstCtx*)impl->adapCtx, mute); + } if(ret == XA_RESULT_SUCCESS) { @@ -188,8 +208,8 @@ } } - XAVolumeItfAdapt_ThreadExit(impl->adapCtx); -#endif + XAAdaptationBase_ThreadExit(impl->adapCtx); + DEBUG_API("<-XAVolumeItfImpl_SetMute"); return ret; } @@ -236,8 +256,8 @@ return XA_RESULT_PARAMETER_INVALID; } -#ifdef _GSTREAMER_BACKEND_ - ret = XAVolumeItfAdapt_ThreadEntry(impl->adapCtx); + + ret = XAAdaptationBase_ThreadEntry(impl->adapCtx); if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED ) { DEBUG_API("<-XAVolumeItfImpl_EnableStereoPosition"); @@ -246,17 +266,24 @@ /* Check is stereo position state changed */ if(enable != impl->enableStereoPos) { - ret = XAVolumeItfAdapt_EnableStereoPosition(impl->adapCtx, + if(impl->adapCtx->fwtype == FWMgrFWGST) + { + ret = XAVolumeItfAdapt_EnableStereoPosition((XAAdaptationGstCtx*)impl->adapCtx, enable); - + } + else + { + ret = XANokiaVolumeExtItfAdapt_EnableStereoPosition((XAAdaptationMMFCtx*)impl->adapCtx, + enable); + } if(ret == XA_RESULT_SUCCESS) { impl->enableStereoPos = enable; } } - XAVolumeItfAdapt_ThreadExit(impl->adapCtx); -#endif + XAAdaptationBase_ThreadExit(impl->adapCtx); + DEBUG_API("<-XAVolumeItfImpl_EnableStereoPosition"); return ret; } @@ -310,8 +337,8 @@ impl->stereoPosition = stereoPosition; -#ifdef _GSTREAMER_BACKEND_ - ret = XAVolumeItfAdapt_ThreadEntry(impl->adapCtx); + + ret = XAAdaptationBase_ThreadEntry(impl->adapCtx); if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED ) { DEBUG_API("<-XAVolumeItfImpl_SetStereoPosition"); @@ -320,12 +347,20 @@ /* check is stereo position effect enabled if is then handle effect */ if(impl->enableStereoPos) { - ret = XAVolumeItfAdapt_SetStereoPosition(impl->adapCtx, + if(impl->adapCtx->fwtype == FWMgrFWGST) + { + ret = XAVolumeItfAdapt_SetStereoPosition((XAAdaptationGstCtx*)impl->adapCtx, stereoPosition); + } + else + { + ret = XANokiaVolumeExtItfAdapt_SetStereoPosition((XAAdaptationMMFCtx*)impl->adapCtx, + stereoPosition); + } } - XAVolumeItfAdapt_ThreadExit(impl->adapCtx); -#endif + XAAdaptationBase_ThreadExit(impl->adapCtx); + DEBUG_API("<-XAVolumeItfImpl_SetStereoPosition"); return ret; } @@ -359,7 +394,7 @@ /** * XAVolumeItfImpl -specific methods **/ -#ifdef _GSTREAMER_BACKEND_ + /** * XAVolumeItfImpl* XAVolumeItfImpl_Create() @@ -398,7 +433,7 @@ DEBUG_API("<-XAVolumeItfImpl_Create"); return self; } -#endif + /** * void XAVolumeItfImpl_Free(XAVolumeItfImpl* self) * Description: Free all resources reserved at XAVolumeItfImpl_Create